带有datafu的apache PIG:无法解析UDF' s

时间:2016-06-04 15:26:28

标签: java hadoop apache-pig apache-datafu

我在这里尝试快速入门:http://datafu.incubator.apache.org/docs/datafu/getting-started.html 我几乎尝试了一切,但我确定它一定是我的错。我已经尝试过了:

  • 导出PIG_HOME,CLASSPATH,PIG_CLASSPATH
  • 用-cpdatafu-pig-incubating-1.3.0.jar
  • 开始生猪
  • 在本地和hdfs =>注册datafu-pig-incubating-1.3.0.jar两次都成功(至少没有显示错误) 没什么帮助

在猪身上试试这个:

register datafu-pig-incubating-1.3.0.jar
DEFINE Median datafu.pig.stats.StreamingMedian();
data = load '/user/hduser/numbers.txt' using PigStorage() as (val:int);
data2 = FOREACH (GROUP data ALL) GENERATE Median(data);

或直接

data2 = FOREACH (GROUP data ALL) GENERATE datafu.pig.stats.StreamingMedian(data);

我收到此名称 - 解决错误:

  

2016-06-04 17:22:22,734 [main] ERROR org.apache.pig.tools.grunt.Grunt    - ERROR 1070:无法使用导入解析datafu.pig.stats.StreamingMedian:[,java.lang。,org.apache.pig.builtin。,   org.apache.pig.impl.builtin。]日志文件的详细信息:   /home/hadoop/pig_1465053680252.log

当我查看datafu-pig-incubating-1.3.0.jar时,它看起来还不错,一切都到位。我也尝试了一些Bag功能,然后就是同样的错误。 我认为这是一种noob-error,我只是没有看到(因为我没有找到SO或google中datafu的具体答案),所以提前感谢你对此有所了解。< / p>

1 个答案:

答案 0 :(得分:0)

Pig脚本是正确的,唯一可以破解的是,在注册datafu时,存在一些不能满足的类依赖性。

尝试在本地运行(pig -x local)并查看详细日志。

还检查猪的版本 - 它应该比0.14.0更新。