データスキーマ:sdesc:chararray,samt:init,syear:chararrary,stype:chararrary
PIG - STORING一時的な値
データ:
Wrench 259000 2000 store
Wrench 135000 2000 online
Wrench 175000 2001 online
Wrench 180000 2001 store
スクリプト
ysales =LOAD ‘salesdata.txt’ using PigStorage()as (sdesc:chararray,samt:init,syear:chararrary,stype:chararrary);
basedata = FILTER ysales by (sdesc==’Wrench’) and (syear = ‘2000’) and (stype = ‘store);
私の結果セットがある:DUMPのbasedata。
(Wrench,259000,2000,store)
そこで問題は、私は(例えば)持っているbasedataを破る行う方法ですA = ‘Wrench’ B = 259000, C=2000, D = ‘store’
、B、C、Dは何ですが?FLATTEN使用1つの値だけを格納しますか?フィルタリングされたレコードが1レコード以上で、その場合はA、B、C、Dに何を保存する必要がありますか? –
あなたの質問に答えるには、結果セットから、レンチをaに、25900をbの '2000'に、cを 'store'に 'd'で格納する方法があります。つまり、結果セットを分割しますテンポラリ変数に格納する – Derez