gpt4 book ai didi

hadoop - 将 oozie 作业上次运行日期传播到最后一个值

转载 作者:可可西里 更新时间:2023-11-01 15:30:15 28 4
gpt4 key购买 nike

我有一个 oozie 工作流,它运行 sqoop 命令以根据上次更新日期从表中增量加载数据。如何设置 --last-value 以便我们获取从上次运行作业到现在的记录?

最佳答案

如果您正在将数据导入到配置单元表中,您可以从配置单元表中查询最后更新的值并将该值传递给 sqoop 导入查询。

  1. 基于检索逻辑的选择查询的 Hive 操作最后更新的值。
  2. Sqoop 操作用于从捕获的输出中增加负载以前的 hive Action 。

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"/>

希望这对您有所帮助。

关于hadoop - 将 oozie 作业上次运行日期传播到最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34758139/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com