Hi All,

We have a use case where we want to assign a row number to a table based on
3 column ( uid, update_date, flag) i.e. if value of any of the column gets
changed, we want to reset this number. Please find below sample input data
and expected output data.

Also please note that we have tried row_number() over(partition by uid,
update_date, flag order by update_time asc)  but due to this actual input
ordering got break due to I believe partition by clause because it seems
partition by creates group within column specified and then it start row
number and due to this actual ordering is breaking. So i just wanted to
know that is there any function available in hive which can give us below
result OR we are missing something in window function?


*Input Data :- *

*uid* *update_date* *update_time* *flag*
468730 2017-07-12 12/07/2017 22:59:17 1
468730 2017-07-12 12/07/2017 23:02:14 0
468730 2017-07-12 12/07/2017 23:07:40 0
468730 2017-07-12 12/07/2017 23:12:41 0
468730 2017-07-12 12/07/2017 23:22:06 0
468730 2017-07-12 12/07/2017 23:38:35 0
468730 2017-07-12 12/07/2017 23:44:19 0
468730 2017-07-12 12/07/2017 23:47:49 1
468730 2017-07-12 12/07/2017 23:48:49 1
468730 2017-07-12 12/07/2017 23:53:31 0
468730 2017-07-12 12/07/2017 23:57:01 1
468730 2017-07-13 13/07/2017 00:03:10 1
468730 2017-07-13 13/07/2017 00:06:35 0
468730 2017-07-13 13/07/2017 00:07:29 1
468731 2017-07-13 12/07/2017 12:59:17 1
468731 2017-07-13 12/07/2017 13:02:14 0
468731 2017-07-13 12/07/2017 13:07:40 0
468731 2017-07-13 12/07/2017 13:12:41 0


*Output Data :-*

*uid* *update_date* *update_time* *flag* *required_row_num*
468730 2017-07-12 12/07/2017 22:59:17 1 1
468730 2017-07-12 12/07/2017 23:02:14 0 1
468730 2017-07-12 12/07/2017 23:07:40 0 2
468730 2017-07-12 12/07/2017 23:12:41 0 3
468730 2017-07-12 12/07/2017 23:22:06 0 4
468730 2017-07-12 12/07/2017 23:38:35 0 5
468730 2017-07-12 12/07/2017 23:44:19 0 6
468730 2017-07-12 12/07/2017 23:47:49 1 1
468730 2017-07-12 12/07/2017 23:48:49 1 2
468730 2017-07-12 12/07/2017 23:53:31 0 1
468730 2017-07-12 12/07/2017 23:57:01 1 1
468730 2017-07-13 13/07/2017 00:03:10 1 1
468730 2017-07-13 13/07/2017 00:06:35 0 1
468730 2017-07-13 13/07/2017 00:07:29 1 1
468731 2017-07-13 12/07/2017 12:59:17 1 1
468731 2017-07-13 12/07/2017 13:02:14 0 1
468731 2017-07-13 12/07/2017 13:07:40 0 2
468731 2017-07-13 12/07/2017 13:12:41 0 3
*FYI :* We are one Hive 2.3.1.

Reply via email to