【发布时间】:2019-03-24 23:49:49
【问题描述】:
我在 Hive 中有这样的视图:
id sequencenumber appname
242539622 1 A
242539622 2 A
242539622 3 A
242539622 4 B
242539622 5 B
242539622 6 C
242539622 7 D
242539622 8 D
242539622 9 D
242539622 10 B
242539622 11 B
242539622 12 D
242539622 13 D
242539622 14 F
我希望每个 id 都有以下视图:
id sequencenumber appname appname_c
242539622 1 A A
242539622 2 A A
242539622 3 A A
242539622 4 B B_1
242539622 5 B B_1
242539622 6 C C
242539622 7 D D_1
242539622 8 D D_1
242539622 9 D D_1
242539622 10 B B_2
242539622 11 B B_2
242539622 12 D D_2
242539622 13 D D_2
242539622 14 F F
或任何与此相似的东西,可以识别序列中给定事件的再次发生。
我的最终目标是计算每组事件所花费的时间(或者如果您希望在马尔可夫建模的上下文中使用状态),则考虑是否存在任何环回。例如,上例中在 B_1 中花费的时间可以与 B_2 进行比较。
已在 Hive (link) 中搜索窗口函数,但我认为它们无法像 R/Python 那样进行逐行比较。
【问题讨论】:
标签: hive pyspark hiveql pyspark-sql sparkr