访问元组的字段
Posted
技术标签:
【中文标题】访问元组的字段【英文标题】:Accessing fields of Tuples 【发布时间】:2012-06-08 23:19:45 【问题描述】:我有以下猪脚本: 我的文件 1.txt 有 1 乙2 C 3 D 4
grunt> A = load '1.txt' using PigStorage(' ') as (a:chararray,b:int);
grunt> B = foreach A generate A.a;
grunt> dump B;
它给了我以下错误
错误 org.apache.pig.tools.grunt.Grunt - 错误 2997:无法从支持的错误重新创建异常:org.apache.pig.backend.executionengine.ExecException:错误 0:标量在输出。第一:(A,1),第二:(B,2)
【问题讨论】:
【参考方案1】:您不必将a
引用为A.a
。试试这个:
grunt> A = load '1.txt' using PigStorage(' ') as (a:chararray,b:int);
grunt> B = foreach A generate a;
grunt> dump B;
C.x
用于从包中抓取“列”。假设C
是一袋物品,那么C.x
将创建一个包含该袋中所有x
的新袋。这不是你想要的。 foreach
正在为您遍历包。
【讨论】:
以上是关于访问元组的字段的主要内容,如果未能解决你的问题,请参考以下文章