我几乎没有记录说
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的哪个组件来获得上述功能?
1条答案
按热度按时间xt0899hw1#
一种可能的解决方案是使用map reduce。
Map可以发出键,值为
SessionID, Click-Time
一对。在减速机端,排序Click-Time
按时间顺序配对。所以你可以很容易地得到第一次,第二次和第三次的点击。休息很简单,只是释放Key, Click, Time, Time Difference
(每个由分隔符选项卡分隔)对于异径管的每对。减速机的价值可以是NullWritable
.