Pig 脚本无法使用 Amazon EMR
Posted
技术标签:
【中文标题】Pig 脚本无法使用 Amazon EMR【英文标题】:Pig script not working using Amazon EMR 【发布时间】:2015-03-27 18:29:03 【问题描述】:我无法让这个脚本工作:
raw = LOAD 's3://xxxxxxxxx/*' AS (name:chararray, year:float, occurrences:float, books:float);
B = GROUP raw BY name;
C = FOREACH B GENERATE B.name, (SUM(B.occurrences) / SUM(B.books)) AS average;
D = ORDER C BY average DESC;
E = LIMIT D 10;
STORE E INTO 's3://xxxxxx';
【问题讨论】:
你遇到了什么问题 【参考方案1】:C
语句不正确,不能使用Relation B
访问变量name,occurrences and books
。这应该只能由relation raw
访问。你能把你的stmt C
改成这样吗?
C = FOREACH B GENERATE group, SUM(raw.occurrences)/SUM(raw.books) AS average;
这里group
引用变量name
如果您遇到任何其他问题,请粘贴您的错误日志。
【讨论】:
以上是关于Pig 脚本无法使用 Amazon EMR的主要内容,如果未能解决你的问题,请参考以下文章
在 Amazon EMR 上为 Pig UDF 加载外部 python 模块
在 Amazon EMR 中运行的 Pig 作业的引导文件的路径是啥