【问题标题】:apache PIG with datafu: Cannot resolve UDF's带有datafu的apache PIG:无法解析UDF
【发布时间】:2016-06-04 15:26:27
【问题描述】:

我正在从这里尝试快速入门: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 或 google 中找到 datafu 的特定答案),所以提前感谢您对此有所了解。

【问题讨论】:

  • 请考虑编辑您的问题标题和正文。尽量简化事情
  • 现在更正了格式,抱歉
  • 只是为了确认一下:如果你使用基本的 pig 函数(如 SUM)一切正常,如果你使用任何 datafu 函数就没有任何作用?
  • 一个长镜头,但你可以尝试从 org.apache.datafu 或 org.apache.pig.datafu 开始。另外,如果你在本地模式下运行 pig 有帮助吗?很明显:引用的日志文件中有什么?
  • 您是否尝试过您的 jar 文件的绝对路径?另外,在本地检查 jar 的文件夹结构(即,将其重命名为 .zip 并解压缩),看看它是否与您的 StreamingMedian 类的路径匹配。

标签: java hadoop apache-pig apache-datafu


【解决方案1】:

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

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

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

【讨论】:

  • 不,这一切都没有帮助,它是猪 0.15.0 并且日志文件只是重复:无法解析 org.apache.datafu.pig.stats.StreamingMedian 使用导入:[,java.lang。 , org.apache.pig.builtin., org.apache.pig.impl.builtin.] 无论我使用什么类路径(我尝试使用和不使用 org.apache.pig 或 org.apache)。但我真的不再需要这个函数了,因为我已经可以在 Hive 中解决它了(这似乎也有点记忆友好)。无论如何感谢您的关心:-)
  • 好的,我用 pig 0.15 进行了验证,它对我有用。只是出于好奇-您可以使用 -x local 运行并检查日志文件的输出吗?
  • 谢谢,日志文件提到了同样的错误(只是完整的堆栈跟踪)。但这不是我的猪安装(也不是完整的 hortonworks),所以我无法完全看到库路径是如何设置的。如果我新设置猪,我很确定这会起作用。但是因为我只需要它作为学期论文,所以我保持原样:-)
猜你喜欢
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 2013-12-31
  • 1970-01-01
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多