gpt4 book ai didi

hadoop - pig - 包含多个 jar 的注册目录

转载 作者:可可西里 更新时间:2023-11-01 16:47:29 31 4
gpt4 key购买 nike

我在本地模式下运行一个 pig 脚本,我可以注册包含 jars 的目录并且一切正常:

register '/home/q/2/'

在 mapreduce 模式下运行完全相同的脚本时,我收到如下错误:

        at org.apache.pig.PigServer.storeEx(PigServer.java:1034)
... 15 more
Caused by: java.io.FileNotFoundException: /var/tmp/home/q/2 (Is a directory)

请问我如何在 mapreduce 模式下运行时注册目录?

最佳答案

尝试在本地或 mapreduce 模式下运行以下命令两次:

REGISTER '/home/q/2/' ------//在一个目录中注册所有 jar。

在同一 session 中执行两次,您将在第二次注册文件夹时遇到此错误:

错误 2999:意外的内部错误

这是因为 pig 编译器不理解两件事:

一个。 jars 依赖解析。

要导入 jar 的订单。

但是,如果您在注册时指定了 jar 的确切路径:

REGISTER '/home/q/2/myudfs.jar' ----------//你可以像这样注册 jar "n"次。

只需在本地或 map reduce 模式下在脚本中单独注册每个 jar。

这有好处,因为在某些情况下,由于依赖项解析问题,您的 jar 需要按特定顺序导入。

例如:用于处理 Json 数据的 twitter elephant bird 项目有几个 jar 依赖项,因此您需要在 Pig 中以正确的顺序导入它们,否则您将始终遇到此类异常。

关于hadoop - pig - 包含多个 jar 的注册目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35887920/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com