2
Apache Pig是否支持UNGROUP操作?我想沒有。那麼,有沒有人能幫助我解決這個問題? 我有一個排的形式Apache Pig中的UnGroup
1,a-b-c
2,d-e-f
3,g-h
的,我想它擴大到形式
1,a
1,b
1,c
2,d
2,e
2,f
3,g
3,h
讚賞任何幫助。
Apache Pig是否支持UNGROUP操作?我想沒有。那麼,有沒有人能幫助我解決這個問題? 我有一個排的形式Apache Pig中的UnGroup
1,a-b-c
2,d-e-f
3,g-h
的,我想它擴大到形式
1,a
1,b
1,c
2,d
2,e
2,f
3,g
3,h
讚賞任何幫助。
您應該使用內建的STRSPLIT
將第二個字段拆分爲多個標記,然後應用FLATTEN
爲每個元素創建1行。事情是這樣的:
A = LOAD 'input.txt' as (id, data);
B = FOREACH A GENERATE id, FLATTEN(STRSPLIT(data,'-'));
STRSPLIT返回一個元組,而不是一個包,它不會轉動數據值入行,你將最終獲得相同數量的元組作爲輸入數據。爲了得到你想要的結果,請看看http://stackoverflow.com/questions/12549842/pig-convert-text-lines-to-sparse-vector/12568662#12568662 – alexeipab
剛剛嘗試過,它工作。將空格替換爲' - '而不是TOKENIZE,因爲它會返回一個BAG,在FLATTEN之後它會創建旋轉的行。 B = FOREACH A GENERATE ID,FLATTEN(TOKENIZE(REPLACE(data,' - ',''))); – alexeipab