示例数据:(tsv file:sampl)
1 a
2 b
3 c
raw= load 'sampl' using PigStorage() as (f1:chararray,f2:chararray);
grouped = group raw by f1;
describe grouped;
fields = foreach grouped {
x = sample raw 1;
generate x;
}
当我运行时,我在第x = sample raw 1;
行遇到错误
ERROR 1200:输入'raw'不匹配,期望LEFT_PAREN
分组记录不允许抽样吗?
答案 0 :(得分:0)
您不能在嵌套块中使用'sample'命令。这在猪中不受支持 在嵌套块中只允许少数操作操作,如( CROSS,DISTINCT,FILTER,FOREACH,LIMIT和ORDER BY )。您必须在嵌套块之外使用sample命令。
另一个问题是,您使用默认分隔符即选项卡加载输入数据。但是您的输入数据是用空格分隔的,因此您需要像这样更改脚本
raw= load 'sampl' using PigStorage(' ') as (f1:chararray,f2:chararray);