2017-09-06 71 views
0

輸入如何使用蜂巢或豬

id,name,time 
1,home,10:20 
1,product,10:21 
1,mobile,10:22 
2,id,10:24 
2,bag,10:30 
2,home,10:21 
3,keyboard,10:32 
3,home,10:33 
3,welcome,10:36 

我要根據以下的輸出,使列名作爲源和目標,使行數據源和目標曲折。 前面我與pig

嘗試的步驟是:

一個=負載 - > B = ASC-> C =日 - >然後加入

我喜歡這個

的輸出的數據
(1,home,10:20,1,product,10:21) 
(2,bag,10:30,2,id,10:24) 
(3,home,10:32,3,welcome,10:36) 

輸出

1,home,product 
1,product,mobile 
2,id,bag 
2,bag,home 
3,keyboard,home 
3,home,welcome 
+3

您已經標記了SQL,蜂巢,豬和火花。你打算如何實施它? – philantrovert

回答

0

在蜂巢(和星火),您可以使用窗口函數LEAD:

with t as 
    (select id, name, lead(name) over (partition by id) as zigzag from table) 
select * from t where t.zigzag is not null 

應該給你的輸出:

+---+--------+-------+ 
| id| name| zigzag| 
+---+--------+-------+ 
| 1| home|product| 
| 1| product| mobile| 
| 2|  bag| home| 
| 2| home|  id| 
| 3|keyboard| home| 
| 3| home|welcome| 
+---+--------+-------+