如何在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"
有没有像
这样传递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"