Reputation: 8067
I have a comma seperated .txt file, I want to DUMP
the AVG
age of all Males
.
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);
I am getting an error in the FOREACH
line:
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.
Please advice.
Upvotes: 8
Views: 8879
Reputation: 4724
You should not project records
relation it should be filter_by_male
relation.
Can you change your script like this?
average_male_age = FOREACH grouped GENERATE AVG(filter_by_male.age);
Upvotes: 9