1)現有如下數據文件需要處理
格式:CSV
位置:hdfs://myhdts/input.csv
大小:100GB
字段:用戶ID,位置ID,開始時間,停留時長(分鐘)
4行樣例:
UserA,LocationA,2018-01-01 08:00:00,60
UserA,LocationA,2018-01-01 09:00:00,60
UserA,LocationB,2018-01-01 10:00:00,60
UserA,LocationA,2018-01-01 11:00:00,60
2)解讀:
樣例數據中的數據含義是:
用戶UserA,在LocationA位置,從8點開始,停留了60分鐘
用戶UserA,在LocationA位置,從9點開始,停留了60分鐘
用戶UserA,在LocationB位置,從10點開始,停留了60分鐘
用戶UserA,在LocationA位置,從11點開始,停留了60分鐘
該樣例期待輸出:
UserA,LocationA,2018-01-01 08:00:00,120
UserA,LocationB,2018-01-01 10:00:00,60
UserA,LocationA,2018-01-01 11:00:00,60
3)處理邏輯:
(1)對同一個用戶,在同一個位置,連續的多條記錄進行合併
(2)合併原則:開始時間取最早時間,停留時長加和
要求:請使用Spark、MapReduce或其他分佈式計算引擎處理