1
我有一個oozie工作流,它運行sqoop命令以基於lastupdatedate從表中逐步加載數據。 如何設置-last-value以便我們從上次運行作業到現在獲得記錄?將oozie作業上次運行日期傳播到最後值
我有一個oozie工作流,它運行sqoop命令以基於lastupdatedate從表中逐步加載數據。 如何設置-last-value以便我們從上次運行作業到現在獲得記錄?將oozie作業上次運行日期傳播到最後值
如果您要將數據導入配置單元表,您可以查詢配置單元表中最後更新的值並將該值傳遞給sqoop導入查詢。
PFB一個sudo的工作流程:
<workflow-app name="sqoop-to-hive" xmlns="uri:oozie:workflow:0.4">
<start to="hiveact"/>
<action name="hiveact">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<script>script.sql</script>
<capture-output/>
</hive>
<ok to="sqoopact"/>
<error to="kill"/>
<action name="sqoopact">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<command>import --connect jdbc:mysql://localhost:3306/ydb --table yloc --username root -P --incremental append --last-value ${wf:actionData('hiveact')}</command>
</sqoop>
<ok to="end"/>
<error to="kill"/>
</action>
<kill name="kill">
<message>Action failed</message>
</kill>
<end name="end"/>
希望這有助於。