📅  最后修改于: 2020-12-03 08:58:51             🧑  作者: Mango
用例:使用Pig查找出现次数最多的起始字母。
解:
情况1:将数据加载到名为“ lines”的包中。整行粘贴到字符数组类型的元素行。
grunt> lines = LOAD "/user/Desktop/data.txt" AS (line: chararray);
情况2:袋行中的文本需要标记化,这样每行产生一个单词。
grunt>tokens = FOREACH lines GENERATE flatten(TOKENIZE(line)) As token: chararray;
情况3:要保留每个单词的第一个字母,请输入以下命令。该命令使用子字符串方法获取第一个字符。
grunt>letters = FOREACH tokens GENERATE SUBSTRING(0,1) as letter : chararray;
案例4:创建独特的字符在分组包将包含该字符的每一次出现相同的字符袋。
grunt>lettergrp = GROUP letters by letter;
情况5:每组计算发生次数。
grunt>countletter = FOREACH lettergrp GENERATE group , COUNT(letters);
情况6:使用以下命令按照计数从高到低的顺序排列输出。
grunt>OrderCnt = ORDER countletter BY $1 DESC;
情况7:将结果限制为1。
grunt> result =LIMIT OrderCnt 1;
情况8:将结果存储在HDFS中。结果保存在sonoo文件夹下的输出目录中。
grunt> STORE result into 'home/sonoo/output';