使用--append和--incremental append将rdbms中的新行插入到hdfs中的现有数据集中有什么区别吗?我正在使用--append with--where和--incremental append with--last value。
kmpatx3s1#
指定
--incremental lastmodified
将生成update语句,从而根据中提到的列更新行(如果存在)
--checkcolumn
在提到
--incremental append
将插入重复记录,因为它只会追加
lbsnaicq2#
--append 将数据附加到hdfs中的现有数据集
--append
--append --where "dpt_id >10"
与:(仅将数据附加到现有数据集,也可以附加重复项-注意:这不会覆盖数据,但会附加):
--incremental append --check-column dpt_id --last-value 10
但不遵循以下选项(追加新数据并更新现有数据-无重复项-注意:这不会覆盖数据,但会更新或追加)
--incremental lastmodified --check-column lastupdated --last-value 20160802000000
sqoop支持两种类型的 incremental 进口: append 以及 lastmodified .你可以用 --incremental 参数指定要执行的增量导入的类型。附加:您应该指定 append 当导入一个表时,在该表中不断添加新行并增加行id值。指定包含行id的列 --check-column .sqoop导入check列的值大于用指定值的行 --last-value .上次修改时间:sqoop支持的另一种表更新策略称为 lastmodified 模式。当源表的行可能被更新时,您应该使用这个选项,并且每次这样的更新都会将上次修改的列的值设置为当前时间戳。check列保存的时间戳比用指定的时间戳更新的行 --last-value 是进口的。运行后续导入时,应指定 --last-value 这样可以确保只导入新的或更新的数据。这是通过将增量导入创建为保存的作业来自动处理的,这是执行定期增量导入的首选机制。在此处阅读有关增量导入的更多信息。
incremental
append
lastmodified
--incremental
--check-column
--last-value
2条答案
按热度按时间kmpatx3s1#
指定
将生成update语句,从而根据中提到的列更新行(如果存在)
在提到
将插入重复记录,因为它只会追加
lbsnaicq2#
--append
将数据附加到hdfs中的现有数据集与:(仅将数据附加到现有数据集,也可以附加重复项-注意:这不会覆盖数据,但会附加):
但不遵循以下选项(追加新数据并更新现有数据-无重复项-注意:这不会覆盖数据,但会更新或追加)
sqoop支持两种类型的
incremental
进口:append
以及lastmodified
.你可以用
--incremental
参数指定要执行的增量导入的类型。附加:
您应该指定
append
当导入一个表时,在该表中不断添加新行并增加行id值。指定包含行id的列
--check-column
.sqoop导入check列的值大于用指定值的行
--last-value
.上次修改时间:
sqoop支持的另一种表更新策略称为
lastmodified
模式。当源表的行可能被更新时,您应该使用这个选项,并且每次这样的更新都会将上次修改的列的值设置为当前时间戳。check列保存的时间戳比用指定的时间戳更新的行
--last-value
是进口的。运行后续导入时,应指定
--last-value
这样可以确保只导入新的或更新的数据。这是通过将增量导入创建为保存的作业来自动处理的,这是执行定期增量导入的首选机制。
在此处阅读有关增量导入的更多信息。