2014-11-14 40 views
1

样本数据:(TSV文件:SAMPL)采样的内部组记录通过投掷误差

2 B

3c中

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:mism atched input'raw'expected LEFT_PAREN

是否允许对分组记录进行采样?

回答

0

您不能在嵌套块中使用'sample'命令。猪不支持此功能。
在嵌套块中只允许少数操作操作,如(CROSS,DISTINCT,FILTER,FOREACH,LIMIT和ORDER BY)。您必须在嵌套块之外使用示例命令。

另一个问题是,您正在使用默认分隔符即选项卡加载您的输入数据。但是你的输入数据是用空格分隔的,所以你需要像这样改变你的脚本

raw= load 'sampl' using PigStorage(' ') as (f1:chararray,f2:chararray); 
+0

感谢您的评论。输入数据包含选项卡,但由于复制粘贴错误,此处显示为空格。 – user765938 2014-11-14 19:59:29

+0

很好,如果有帮助,请将此问题标记为已回答。 – 2014-11-18 18:51:14