如何在oozie工作流中传递Hive设置参数

How to pass Hive set parameters in oozie workflow

有没有像

这样传递Hive参数

设置hive.exec.parallel=真; 设置 hive.vectorized.execution.enabled=真;

通过参数文件使用 oozie 工作流程

这取决于您调用配置单元查询(hql) 文件的方式。

如果您在工作流中使用配置单元操作,您可以在配置部分的 属性 标记内或在 hql 文件内指定配置单元配置参数 myscript.q

<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1">
    ...
    <action name="myfirsthivejob">
        <hive xmlns="uri:oozie:hive-action:0.2">
            <job-traker>foo:9001</job-tracker>
            <name-node>bar:9000</name-node>
            <prepare>
                <delete path="${jobOutput}"/>
            </prepare>

            <configuration>
                <property>
                    <name>hive.exec.parallel</name>
                    <value>true</value>
                </property>
            </configuration>

            <script>myscript.q</script>
            <param>InputDir=/home/tucu/input-data</param>
            <param>OutputDir=${jobOutput}</param>
        </hive>
        <ok to="myotherjob"/>
        <error to="errorcleanup"/>
    </action>
    ...
</workflow-app>

如果您使用 oozie shell 操作,您可以在 shell 脚本中指定配置单元参数,如下所示。

hive --hiveconf "<hive queries>"

hive --hiveconf -f "hivequeries.hql"