shell—如何使用linux脚本在sqoop中自动将db增量导入hbase

ehxuflar  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(318)

使用sqoop作业,我们可以使用 --lastval 但是我们如何用shell脚本做同样的事情,以及如何得到 --lastval 当我们自动化脚本时?
我是说如何储存 --lastval 如何传递给下一次
提前谢谢你的帮助!!

oknrviil

oknrviil1#

如何存储--lastval以及如何将其传递给下一次?
定义 --lastval 在linux或unix中作为别名或导出变量。可以从自动化脚本中重试
加载完成后,通过捕获最新的lastval将其更改为最近的值 export lastupdatedvalue=hive -e 'select last_value from table #基于逻辑的选择查询。

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将check列中的值与最近导入的引用值进行比较。这些参数导入id大于100的所有行。

--incremental
--check-column id
--last-value 100

如果从命令行运行增量导入,sqoop将在后续增量导入中打印最后一个值。如果从保存的作业运行增量导入,sqoop将保留保存的作业中的最后一个值。要仅导入比以前导入的行更新的行,请使用--exec选项。sqoop只导入id大于指定行id的行。

相关问题