我的记录很少说
session1 click1 time1
session1 click2 time2
session1 click3 time3
session2 click1 time1
session2 click2 time2
session2 click3 time3
现在我需要计算会话中每次点击的访问时间
session1 click1 time1 (time2-time1)
session1 click2 time2 (time3-time2)
session1 click3 time3 0
session2 click1 time1 (time2-time1)
session2 click2 time2 (time3-time2)
session2 click3 time3 0
我可以使用hadoop的哪个组件来获得上述功能?
答案 0 :(得分:3)
一种可能的解决方案是使用Map Reduce。
地图可以发出密钥,值为SessionID, Click-Time
对。在reducer端,按时间顺序对Click-Time
对进行排序。因此,您可以轻松获得第一次,第二次和第三次点击。休息很简单,只需从reducer中为每对发出Key, Click, Time, Time Difference
(每个由分隔符选项卡分隔)。 reducer的值可以是NullWritable
。