首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ozzie流无法使用UDF add命令的hive-ql。

Ozzie流无法使用UDF add命令的hive-ql。
EN

Stack Overflow用户
提问于 2014-03-21 18:30:46
回答 1查看 692关注 0票数 0

我正在创建oozie工作流,在该工作流中,我将依次调用蜂巢sqls。

首先,sql具有简单的转换逻辑。而第二条则有临时函数创建命令和添加查找文件命令。我将在sql中进一步使用此UDF。

添加JAR **;

创建临时函数XXXXX,作为.;

添加文件*

代码语言:javascript
复制
<workflow-app xmlns="uri:oozie:workflow:0.4" name="hive-wf">
    <credentials>
        <credential name="hive_credentials" type="hcat">
            <property>
                <name>hcat.metastore.uri</name>
                <value>XXXXXXXX</value>
            </property>
            <property>
                <name>hcat.metastore.principal</name>
                <value>XXXXXXXX</value>
            </property>
        </credential>
    </credentials>
    <start to="hive-1" />
    <action name="hive-1" cred="hive_credentials">
        <hive xmlns="uri:oozie:hive-action:0.2">
            <job-tracker>XXXXXXX</job-tracker>
            <name-node>XXXXXXX</name-node>
            <job-xml>/XXXXXX/oozie/oozie-hive-site.xml</job-xml>
            <configuration>
               <property>
                <name>mapred.job.queue.name</name>
                <value>default</value>
            </property>
        </configuration>
        <script>/XXXXXXX/hive_1.sql</script>
    </hive>
    <ok to="hive-2" />
    <error to="fail" />
</action>
<action name="hive-2" cred="hive_credentials">
    <hive xmlns="uri:oozie:hive-action:0.2">
        <job-tracker>XXXXXXXX</job-tracker>
        <name-node>XXXXXXXX</name-node>
        <job-xml>/XXXXXX/oozie/oozie-hive-site.xml</job-xml>
        <configuration>
            <property>
                <name>mapred.job.queue.name</name>
                <value>default</value>
            </property>
        </configuration>
        <script>/XXXXXXX/hive_2.sql</script>
    </hive>
    <ok to="end" />
    <error to="fail" />
</action>
<kill name="fail">
    <message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end" />

首先成功执行hql脚本。工作流在执行第二个hql脚本时会被终止,从而导致以下错误。

JOB0000044-140317190624992-oozie-oozi-W操作- E1100:命令先决条件在执行前不保持,coord操作为空,错误代码: E1100

它在执行添加UDF的命令时抛出错误。(添加JAR,创建临时文件,添加文件)。

我搜索了这个错误,我有一些链接来忽略这个错误!

但是,我在第二个Hql脚本中给出的使用hive的实际sql没有执行。

你能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2014-04-10 09:54:22

add jar路径是一个本地机器路径。

Oozie操作在datanodes上运行。有可能它无法在datanode上找到jar,从而给出一个错误(检查mapreduce日志,您会找到原因)

如果这是一个问题,一个解决方法是将该文件放入HDFS,并在执行过程中将其复制到datanode上的本地文件集中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22566802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档