【发布时间】:2015-09-05 01:43:13
【问题描述】:
我在这里使用 Pig on Hadoop 和 DataFu 示例 (http://datafu.incubator.apache.org/docs/datafu/guide/set-operations.html),这是我的代码和错误消息,有人有什么想法吗?谢谢。
register datafu-1.2.0.jar;
define setDifference datafu.pig.sets.SetDifference();
-- ({(3),(4),(1),(2),(7),(5),(6)},{(1),(3),(5),(12)})
input = load 'input.txt' AS (B1:bag{T:tuple(val:int)},B2:bag{T:tuple(val:int)});
differenced = FOREACH input {
-- input bags must be sorted
sorted_b1 = ORDER B1 by val;
sorted_b2 = ORDER B2 by val;
GENERATE SetDifference(sorted_b1,sorted_b2);
}
-- produces: ({(2),(4),(6),(7)})
DUMP differenced;
[main] 错误 org.apache.pig.tools.grunt.Grunt - 错误 1070:无法使用导入解析 SetDifference:
提前致谢, 林
【问题讨论】:
-
试试下面的方法:检查UDF的路径是否有效
datafu.pig.sets.SetDifference();如果路径有效,尝试重启Grunt,你还会遇到吗? -
@Flowryn,感谢您的建议,您是什么意思到 UDF 的路径是正确的?更多细节表示赞赏。
-
对不起,我没有仔细阅读,问题在另一部分。包是正确的,你在这里使用了一个库。我还必须运行代码,现在我不在办公室。 (后来编辑:“路径”我的意思是“包”,再次抱歉混淆)
标签: java hadoop apache-pig user-defined-functions udf