我无法获取LinkedIn DataFu的TransposeTupletoBag(http://linkedin.github.io/datafu/docs/current/datafu/pig/util/TransposeTupleToBag.html)的示例代码。
register datafu-1.1.0.jar
define Transpose datafu.pig.util.Transpose();
x = LOAD 'input.txt' AS (id:int,val1:int,val2:int,val3:int);
dump x
(1,10,11,12)
y = FOREACH x GENERATE id, Transpose(val1 .. val3);
2013-11-08 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070:
Could not resolve datafu.pig.util.Transpose using imports: [, java.lang.,
org.apache.pig.builtin., org.apache.pig.impl.builtin.]
Details at logfile: pig_1383941559971.log
由于某种原因,Pig无法找到Transpose()。我可以使用其他DataFu函数,因此它不是JAR路径的问题。我在本地模式下使用Pig 0.11.1。
答案 0 :(得分:1)
这是一个简单的解决方案。 DataFu的文档输入错误或API已更新; Transpose()应该是TransposeTupleToBag()(无论如何都更有意义)。只需替换
define Transpose datafu.pig.util.Transpose();
与
define Transpose datafu.pig.util.TransposeTupleToBag();
你很高兴。