使用sqoop作业,我们可以使用 --lastval 但是我们如何用shell脚本做同样的事情,以及如何得到 --lastval 当我们自动化脚本时?我是说如何储存 --lastval 如何传递给下一次提前谢谢你的帮助!!
--lastval
oknrviil1#
如何存储--lastval以及如何将其传递给下一次?定义 --lastval 在linux或unix中作为别名或导出变量。可以从自动化脚本中重试加载完成后,通过捕获最新的lastval将其更改为最近的值 export lastupdatedvalue=hive -e 'select last_value from table #基于逻辑的选择查询。
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的行。
1条答案
按热度按时间oknrviil1#
如何存储--lastval以及如何将其传递给下一次?
定义
--lastval
在linux或unix中作为别名或导出变量。可以从自动化脚本中重试加载完成后,通过捕获最新的lastval将其更改为最近的值
export lastupdatedvalue=hive -e 'select last_value from table
#基于逻辑的选择查询。:
你可以在oozie中尝试一个sqoop操作,它应该可以工作。如果您喜欢脚本,还可以在oozie中使用shell操作。可以使用可用的协调器功能对其进行调度。
还可以看看
增量导入数据
要增量导入数据,请在import命令中使用--incremental参数。sqoop将check列中的值与最近导入的引用值进行比较。这些参数导入id大于100的所有行。
如果从命令行运行增量导入,sqoop将在后续增量导入中打印最后一个值。如果从保存的作业运行增量导入,sqoop将保留保存的作业中的最后一个值。要仅导入比以前导入的行更新的行,请使用--exec选项。sqoop只导入id大于指定行id的行。