0
數據集:
我在(ID,類別)格式的數據集(data.txt中)如下面給出:
提高的效率PIG腳本
01,X
02,Y
03,X
04,Y
05,X
06,X
07,Z
08,Z
09,X
10,Z
目的:
目標是找出哪個類別具有最大數量的ID而不使用UDF。
一種方法:
我已經試過多次,並得出結論認爲,這可以通過設置PIG報表
A1 = LOAD 'data.txt' USING PigStorage(',') AS (ID:int , Category:chararray);
A2 = DISTINCT A1;
A3 = GROUP A2 BY Category;
A4 = FOREACH A3 GENERATE group AS Category, COUNT(A2.ID) AS Number;
A5 = GROUP A4 ALL;
A6 = FOREACH A5 GENERATE MAX(A4.Number);
A7 = FILTER A4 by Number == A6.$0;
A8 = FOREACH A7 GENERATE Category;
DUMP A8;
請求的followins被achived:
儘管這些聲明得到期望的結果,我不相信它的效率。 由於我是PIG的新手,我不確定是否有任何內置函數可以執行此類任務,以便從表格中輸出最小值或最大值的相應值。
我的要求是要知道這是否可以用更少的步驟數完成。
非常感謝
該腳本將工作F9如果數據集只有一個最高值,如果您有多個最大值不會產生正確的結果.. –