describe filter_records;
这给了我以下格式:
filter_records: {details1: (firstname: chararray,lastname: chararray,age: int,gender: chararray),details2: (firstname: chararray,lastname: chararray,age: int,gender: chararray)}
我想展示 firstname
从两者 details1
以及 details2
. 我试过这个:
display_records = FOREACH filter_records GENERATE display1.firstname;
但我得到了一个错误:
Invalid field projection. Projected field [display1] does not exist in schema: details1:tuple(firstname:chararray,lastname:chararray,age:int,gender:chararray),details2:tuple(firstname:chararray,lastname:chararray,age:int,gender:chararray).
请说明此错误的原因和解决方法。
1条答案
按热度按时间pxq42qpu1#
我没有看到任何亲戚的名字
display1
在filter_records
. 我想不是details1.firstname
你曾经display1.firstname
. 你能这样改剧本吗?似乎在details1和details2中使用了相同的变量名(firstname、lastname、age、gender)。这样打印时会出现重复错误
要解决这个问题,您需要在details1和details2关系中提供一个唯一的名称,您可以这样更改您的加载模式吗?或者您可以在details1和details2中提供任何唯一的名称。
现在,当您尝试这样做时,您将从details1和details2获得名字