3

我正在从这里尝试快速入门: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] 错误 org.apache.pig.tools.grunt.Grunt - 错误 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 功能,然后出现同样的错误。我认为这是一种我看不到的菜鸟错误(因为我没有在 SO 或谷歌中找到 datafu 的特定答案),所以提前感谢您对此有所了解。

4

1 回答 1

0

Pig 脚本是正确的,唯一可能会破坏的是,在注册 datafu 时,有一些无法满足的类依赖项。

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

还要检查 pig 的版本——它应该比 0.14.0 更新。

于 2016-06-08T19:10:21.717 回答