hadoop - Pig - 错误 1045 : AVG as multiple or none of them fit. 请使用显式转换

标签 hadoop mapreduce apache-pig bigdata

我有一个逗号分隔的 .txt 文件,我想DUMP所有男性AVG年龄。

records = LOAD 'file:/home/gautamshaw/Documents/PigDemo_CommaSep.txt' USING PigStorage(',') AS (firstname:chararray,lastname:chararray,age:int,sex:chararray);
filter_by_male = FILTER records BY sex == 'M';
grouped = GROUP filter_by_male ALL;
average_male_age = FOREACH grouped GENERATE AVG(records.age);

我在 FOREACH 行中收到错误:

ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1045: 
<line 6, column 44> Could not infer the matching function for org.apache.pig.builtin.AVG as multiple or none of them fit. Please use an explicit cast.

请指教。

最佳答案

你不应该投影 records 关系它应该是 filter_by_male 关系。

你能像这样改变你的脚本吗?

average_male_age = FOREACH grouped GENERATE AVG(filter_by_male.age);

关于hadoop - Pig - 错误 1045 : AVG as multiple or none of them fit. 请使用显式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28227791/

相关文章:

hadoop - 在 Pig 中存储时间

apache-pig - 如何在 PIG 中过滤具有空值的记录?

hadoop - Sqoop 推测执行

hadoop - 如何在MapReduce中处理一条记录依赖于另一条记录的大文件

csv - 将 .tar.gz 文件中的大型 .csv 文件加载到 Hive 表中

hadoop - Wordcount程序卡在hadoop-2.3.0

java - Hadoop MapReduce RecordReader 实现是否必要?

hadoop - 解决 Pig Udf 问题

join - Hadoop:是否可以将多个Map-Side连接在一起,似乎不是吗?

java - 如何附加ORC文件