如何从配置单元 oozie 操作提供 hiveconf 变量

How to supply hiveconf variable from hive oozie action

我想从我的 hive-oozie 操作中提供变量作为 hiveconf 命名空间,该怎么做?

<action name="setupAct">
  <hive xmlns="uri:oozie:hive-action:0.2">
    <job-tracker>maprfs:///</job-tracker>
    <name-node>maprfs:///</name-node>
    <script>
      XYZ.hql
    </script>
    <!--how to add variable to hiveconf-->
    <param>DB_NAME=test</param>
  </hive>
  <ok to="ok" />
  <error to="error" />
</action>

param 元素内的值作为 --hivevar 命名空间提供给配置单元。

下面是应用程序日志,param 元素被添加为 hivevar:

------------------------
  DB_NAME=test
------------------------
Hive command arguments :
      --hivevar
        DB_NAME=test
        -f
         test.hql

对于 Oozie 中的 hiveconf,使用 configuration 元素。

<hive xmlns="uri:oozie:hive-action:0.2">
    <job-tracker>maprfs:///</job-tracker>
    <name-node>maprfs:///</name-node>
    <script>
      XYZ.hql
    </script>
    <!--how to add variable to hiveconf-->
    <configuration>
       <property>
          <name>hive.default.fileformat</name>
          <value>Parquet</value>
       </property>
    </configuration>
    <param>DB_NAME=test</param>
  </hive>