0
標題可能有點混亂,所以我會展示我想達到的目標。將結果數據用於其他數據過濾器Hadoop Pig。
所以說我有一個數據只是int。
10
20
30
40
50
60
70
80
90
和數據被稱爲data.csv什麼
,所以我做
A = load 'data.csv' using PigStorage(',');
,它會加載到一個
,然後我用這個數據,計算它的平均值。
我做
B = foreach A generate int;
C = group B all;
avg = foreach C generate AVG(B.int);
(忽略小的語法錯誤,你明白了吧)
所以,如果我平均傾倒,我會得到代表數據A.平均一個整數
所以,現在我想要做的是
篩選出來的數據只具有比平均水平的數據。
因此,像這樣
X = filter A by int > avg
但它不喜歡我使用的數據變量的過濾器比較。
我應該如何實現這一目標?
投影字段[avg]在模式中不存在:這就是我得到的.. – JaemyeongEo
如果你描述D,它會說什麼? –
哦,我得到它的工作。它不喜歡E = filter D通過int> avg,因爲它不知道平均值是什麼,所以我只是把它改成了D.avg,它工作。感謝WinnieNicklaus! – JaemyeongEo