Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 你想得到SUM()函数的输出吗?_Hadoop_Mapreduce_Apache Pig - Fatal编程技术网

Hadoop 你想得到SUM()函数的输出吗?

Hadoop 你想得到SUM()函数的输出吗?,hadoop,mapreduce,apache-pig,Hadoop,Mapreduce,Apache Pig,我有一些数据,如(姓名、分数) A 10 B 25 C 15 A五 A 36 B 98 C 78 C 78 B 12 当我使用SUM()函数时,输出结果如下 {(A)(A)(A), (51)} {(B)(B)(B), (135)} 我想知道是否有什么我可以展示给大家看的 {(A), (51)}, 不是每次出现都重复“名称”字段吗? 任何指导都会有所帮助。按姓名分组 data = LOAD 'demo.txt' as PigStorage (',') using (name : chara

我有一些数据,如(姓名、分数) A 10 B 25 C 15 A五 A 36 B 98 C 78 C 78 B 12

当我使用SUM()函数时,输出结果如下

{(A)(A)(A), (51)} 
{(B)(B)(B), (135)}
我想知道是否有什么我可以展示给大家看的

{(A), (51)},
不是每次出现都重复“名称”字段吗?
任何指导都会有所帮助。

按姓名分组

data = LOAD 'demo.txt'  as PigStorage (',') using (name : chararray , score : int);
groupScore = GROUP data by name;
totalscore = FOREACH groupScore Generate data.name , SUM(data.score);
按名称分组

data = LOAD 'demo.txt'  as PigStorage (',') using (name : chararray , score : int);
groupScore = GROUP data by name;
totalscore = FOREACH groupScore Generate data.name , SUM(data.score);

下面是对解决方案的查询

data = LOAD 'demo.txt' USING PigStorage(',') AS (name:chararray,score:int);
groupScore = group data by name;
result= FOREACH groupScore GENERATE group,SUM(data.score);
输出

(A,51)(B,135)(C,171)


下面是对解决方案的查询

data = LOAD 'demo.txt' USING PigStorage(',') AS (name:chararray,score:int);
groupScore = group data by name;
result= FOREACH groupScore GENERATE group,SUM(data.score);
输出

(A,51)(B,135)(C,171)


感谢回复,still name字段正在重复,我猜它与FOREACH循环有关。感谢回复,still name字段正在重复,我猜它与FOREACH循环有关。您的load语句不正确。。。。它真的有效吗?你的load语句不正确。。。。它真的有效吗?