示例数据:(tsv文件:sampl)
1安培
2个b
3摄氏度
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;
错误1200:不匹配的输入“raw”应为左\u
分组记录不允许采样吗?
1条答案
按热度按时间xqnpmsa81#
不能在嵌套块中使用“sample”命令。pig中不支持此操作。
嵌套块中只允许很少的操作,如(cross、distinct、filter、foreach、limit和order by)。必须在嵌套块之外使用sample命令。
另一个问题是,您正在使用默认分隔符ie tab加载输入数据。但是您的输入数据是用空格分隔的,所以您需要像这样更改您的脚本