我有一个日志表,在云存储数据的spark实例中有如下客户数据。我试图使用apache zeppelin over spark
查询相同内容/Library/Java/JavaVirtualMachines
我想知道是否有任何顾客在连续两次入场时已经走了3个以上的距离 我尝试在客户ID的同一个表上进行连接,并将上述条件放在where子句中,如下所示,但这没有帮助;我认为customerID上的连接不正确,我得到了整套结果
CustomerID TimeStamp Distance
------------------------------
1 12.00 310
2 12.00 821
1 12.01 313
3 12.01 734
2 12.01 821
1 12.03 323
3 12.02 734
2 12.03 824
答案 0 :(得分:2)
您可以使用lag
执行此操作。
select customerID,timestamp
from (select customerID,timestamp
,distance-lag(distance,1,distance) over(partition by customerID order by timestamp) as diff_with_prev_dist
from sometable
) t
where diff_with_prev_dist > 3