2012-01-12 15 views
1

のは、私はapacheの豚で、次の入力があるとしましょう:apache pig latinのGROUPの反対ですか?

(123, ((1, 2), (3, 4))) 
(666, ((8, 9), (10, 11), (3, 4))) 

をし、私は次の7行にこれらの2行を変換したい:これはの反対のことをやって」みかん、すなわち

(123, (1, 2)) 
(123, (3, 4)) 
(666, (8, 9)) 
(666, (10, 11)) 
(666, (3, 4)) 

グループ'。これはブタのラテンで可能ですか?

答えて

2

FLATTENをご覧ください。おそらくあなたが必要とすることをします。

しかし、上記の表記法を使用すると、タプルのリストがタプルであるように見えます。これが正しく機能するには、これはバッグでなければなりません。

の代わりに:

(123, ((1, 2), (3, 4))) 
(666, ((8, 9), (10, 11), (3, 4))) 

あなたのようにあなたのデータを表すべきである:それはこの形式になると、あなたが行うことができ、その後

(123, { (1, 2), (3, 4) }) 
(666, { (8, 9), (10, 11), (3, 4) }) 

O = FOREACH grouped GENERATE $0, FLATTEN($1); 
+0

はいそれは何です私は欲しい。タプルではなく、うまく動作するように入力データを変更しました。 – Rory

関連する問題