如何在全局配置中设置Oozie的配置单元属性

时间:2016-08-16 23:46:39

标签: hadoop hive oozie

我想将hive set命令传递给Oozie脚本中的所有hql调用。我有很多hql,我想将hive参数传递给每个hql.I用于编写每个hql文件中的所有set命令,现在我想保持工作流级别。任何人都可以建议如果我做错了什么。

我已经完成了部分工作流程。在执行作业时,我没有看到hive参数没有传播,因此作业失败。

    <workflow-app name="WF_AMLMKTM_L1_LOAD" xmlns="uri:oozie:workflow:0.5">
      <global>
      <job-tracker>${jobTracker}</job-tracker>
      <name-node>${nameNode}</name-node>
      <configuration>
                    <property>
                        <name>hive.exec.parallel</name>
                        <value>true</value>
                    </property>
                    <property>
                        <name>hive.execution.engine</name>
                        <value>spark</value>
                    </property>
                    <property>
                        <name>hive.exec.dynamic.partition</name>
                        <value>true</value>
                    </property>
                    <property>
                        <name>hive.exec.dynamic.partition.mode</name>
                        <value>nonstrict</value>
                    </property>
                </configuration>
      </global>


<action name="map_prc_stg_l1_load_com" cred="hive2">
        <hive2 xmlns="uri:oozie:hive2-action:0.1">
            <jdbc-url>${hive2_jdbc_url}</jdbc-url>
            <script>${basepath}/applications/stg_l1_load_com.hql</script>
              <param>basepath=${basepath}</param>
              <param>runsk=${wf:actionData(&#39;runsk_gen&#39;)[&#39;runsk&#39;]}</param>

2 个答案:

答案 0 :(得分:0)

将所有与hive相关的配置放在hive-site.xml中,并使用

通过hive操作传递它
<job-xml>[HIVE SETTINGS FILE]</job-xml>

https://oozie.apache.org/docs/4.2.0/DG_Hive2ActionExtension.html

答案 1 :(得分:0)

我认为您可以如下添加它。 ... <argument>--hiveconf</argument> <argument>hive.exec.dynamic.partition.mode=nonstrict</argument> <argument>--hiveconf</argument> <argument>hive.exec.dynamic.partition=true</argument>