Oozie工作流程无法正常运行

时间:2017-01-09 09:37:21

标签: oozie oozie-coordinator

我已根据以下hql查询在Hue UI中创建了一个新的Oozie工作流程。

things.hql

drop table output_table;
create table output_table like things;
insert overwrite table output_table select t.* from things_dup td right outer join things t on (td.item_id = t.item_id) where td.item_id is null;
insert overwrite table things_dup select * from things;

表格是,

事物表

item_id product
1         soap
2         chocklate 

things_dup

item_id product
1         soap

当我单独运行hql时

hadoop dfs -f things.hql

工作正常。 things_dup表已正确更新。

但是当我运行工作流程时,things_dup表还没有更新。 插入覆盖表thing_dup select * from things;

任何人都知道为什么吗?请帮我解决这个问题。

Workflow.xml

<workflow-app name="Things_workflow" xmlns="uri:oozie:workflow:0.4">
    <start to="Things_workflow"/>
    <action name="Things_workflow">
        <hive xmlns="uri:oozie:hive-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
              <job-xml>/user/cloudera/hive-site.xml</job-xml>
            <script>things.hql</script>
            <file>/user/cloudera/hive-site.xml#hive-site.xml</file>
        </hive>
        <ok to="end"/>
        <error to="kill"/>
    </action>
    <kill name="kill">
        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

动作

<hive xmlns="uri:oozie:hive-action:0.2">
  <job-tracker>localhost.localdomain:8021</job-tracker>
  <name-node>hdfs://localhost.localdomain:8020</name-node>
  <job-xml>/user/cloudera/hive-site.xml</job-xml>
  <script>things.hql</script>
  <file>/user/cloudera/hive-site.xml#hive-site.xml</file>
</hive>

谢谢, manimekalai

1 个答案:

答案 0 :(得分:0)

我也遇到了hive oozie的问题,但最终解决了。

请将workflow.xml与此匹配。

请务必将此 job-xml 行放在配置节点之前。

<?xml version="1.0" encoding="UTF-8"?>
<workflow-app xmlns="uri:oozie:workflow:0.2" name="pig-hive-wf">

<start to="hive-node" />

    <action name="hive-node">
    <hive xmlns="uri:oozie:hive-action:0.2">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>

        <job-xml>hive-site.xml</job-xml>

        <configuration>
        <property>
            <name>mapred.job.queue.name</name>
            <value>${queueName}</value>
        </property>
            <property>
                    <name>oozie.hive.defaults</name>
                    <value>/user/cloudera/oozie/pig_hive_data_WF/hive-site.xml</value>
                </property>
        </configuration>
        <script>/user/cloudera/oozie/pig_hive_data_WF/load_data.q</script>
        <param>LOCATION=/user/${wf:user()}/oozie/pig_hive_data_WF/output/pig_loaded_data</param>
        <file>hive-conf.xml#hive-conf.xml</file>
    </hive>
    <ok to="end"/>
    <error to="fail"/>
    </action>

    <kill name="fail">
    <message>Pig Hive job is  failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end" />
</workflow-app> 

您可以从 /etc/hive/conf/hive-site.xml 复制hive-site.xml文件,并将其放在工作流目录中。