0
我寫了UDF(extends EvalFunc<Tuple>
),其具有與內元組(嵌套的)輸出元組。取消嵌套元組嵌套到單個術語
例如轉儲的樣子:
(((photo,photos,photo)))
(((wedg,wedge),(audusd,audusd)))
(((quantum,quantum),(mind,mind)))
(((cassi,cassie),(cancion,canciones)))
(((calda,caldas),(nova,novas),(rodada,rodada)))
(((fingerprint,fingerprint),(craft,craft),(easter,easter)))
現在我想處理每個這種條款,明顯的它,並給它一個id(RANK
)。要做到這一點,我需要擺脫括號。在這種情況下,簡單的FLATTEN
不起作用。
最終的輸出應該是這樣的:
1 photo
2 photos
3 wedg
4 wedge
5 audusd
6 quantum
7 mind
....
我的代碼(不是UDF一部分,而不是原始解析):
tags = FOREACH raw GENERATE FLATTEN(tags) AS tag;
tags_distinct = DISTINCT tags;
tags_sorted = RANK tags_distinct BY tag;
DUMP tags_sorted;
謝謝你的建議。我如何指定數據類型? 「xyz AS tag:bag {t:tuple()};」 - 喜歡這個? – Stefanos13
看到我的更新來改變你的UDF – glefait
好的,謝謝,但我已經做了我的UDF這種變化。我的意思是豬的數據類型。告訴豬它的一個袋子與元組,並且我可以迭代它。我的問題是我不能弄清楚如何遍歷它,直到但 – Stefanos13