使用 sqoop 作业,我们可以使用--lastval
但是我们如何对 shell 脚本做同样的事情,以及--lastval
当我们自动化脚本时我们将如何获得呢?
我的意思是如何存储--lastval
以及如何将其传递给下一次
预先感谢您的帮助!
如何存储 --lastval 以及如何将其传递给下一次?
在 linux 或 unix 中定义--lastval
为别名或导出变量。可以从自动化脚本中重试
一旦加载完成,然后通过捕获最新的 lastva l将其更改为最近的值
export lastupdatedvalue=hive -e 'select last_value from table
#selection 查询基于逻辑。
sqoop import --connect jdbc:mysql://localhost:3306/ydb --table <your table> --username root -P --incremental append --last-value ${lastupdatedvalue}
:
您可以在 Oozie 中尝试一个 sqoop 操作,它应该可以工作。如果您更喜欢脚本,也可以在 oozie 中使用 shell 操作。可以使用可用的协调器功能来安排它。
也看看
要以增量方式导入数据,请在 import 命令中使用 --incremental 参数。Sqoop 将检查列中的值与最近导入的参考值进行比较。这些参数导入所有 id 大于 100 的行。
--incremental
--check-column id
--last-value 100
如果从命令行运行增量导入,Sqoop 会在后续增量导入中打印最后一个值。如果您从保存的作业运行增量导入,Sqoop 会保留保存的作业中的最后一个值。要仅导入比以前导入的行更新的行,请使用 --exec 选项。Sqoop 只导入 id 大于指定行 id 的行。