Apache pig PIG:无效的字段投影。计划字段[dept_no]在架构中不存在

Apache pig PIG:无效的字段投影。计划字段[dept_no]在架构中不存在,apache-pig,grouping,Apache Pig,Grouping,我有两个.csv文件 1) 按部门名称、员工ID和雇用日期划分的经理列表 2) 包含所有员工的文件,不分级别,并按雇用日期、名字、姓氏划分 我想在标有“化学”的特定部门中输出所有经理的名字和姓氏 我首先加载两个文件 managers = LOAD.... employees = LOAD... 然后我尝试一个cogroup grouped = COGROUP emplo BY first_name, manag by dept_no; 然后试着根据具体的部门筛选出结果 only_chem =

我有两个.csv文件

1) 按部门名称、员工ID和雇用日期划分的经理列表

2) 包含所有员工的文件,不分级别,并按雇用日期、名字、姓氏划分

我想在标有“化学”的特定部门中输出所有经理的名字和姓氏

我首先加载两个文件

managers = LOAD....
employees = LOAD...
然后我尝试一个cogroup

grouped = COGROUP emplo BY first_name, manag by dept_no;
然后试着根据具体的部门筛选出结果

only_chem = FILTER grouped BY dept_no == 'chem';
但是,当我转储结果时,它在最后一位说,无效的场投影。架构中不存在投影字段[dept_no]

我对他们的分组方式一定是做错了什么。我想清除无关信息,但能够过滤掉所有员工,只从这些员工中获取经理,但我需要大的员工文件,因为它有名字/姓氏字段

想法?多谢各位

你能这样试试吗

D = FOREACH grouped{
                      only_chem = FILTER  managers BY dept_no == 'chem';
                      GENERATE FLATTEN(only_chem);
                 }
DUMP D;

如果这不起作用,请粘贴员工和经理文件的示例输入数据,并加载2个stmt。

谢谢,虽然我发现了一个使用JOIN的不同解决方案,但我注意到前一个解决方案不起作用,因为我没有在cogroup后展平。