如何在oozie工作流中传递配置单元集参数

j2datikz  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(683)

是否仍要像这样传递配置单元参数
设置hive.exec.parallel=true;设置hive.vectorized.execution.enabled=true;
使用参数文件使用oozie工作流

u4dcyp6a

u4dcyp6a1#

这取决于调用配置单元查询(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"

相关问题