sqoop 中 --append 和 --incremental append 的区别
Difference between --append and --incremental append in sqoop
使用 --append 和 --incremental append 将新行从 RDBMS 插入到 HDFS 中的现有数据集之间有什么区别吗?我正在使用 --append 和 --where 以及 --incremental append 和 --last-value。
--append
将数据附加到 HDFS 中的现有数据集
--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
参数指定要执行的增量导入类型。
追加:
- 导入 table 时应指定
append
模式,其中 随着行 ID 值的增加不断添加新行。
- 您使用
--check-column
指定包含行 ID 的列。
- Sqoop 导入检查列的值大于用
--last-value
指定的值的行。
上次修改时间:
- Sqoop 支持的另一种 table 更新策略称为
lastmodified
模式。 当源table的行可能被更新时,您应该使用它,并且每次这样的更新都会将最后修改列的值设置为当前时间戳。
- 检查列中的时间戳比用
--last-value
指定的时间戳更新的行被导入。
- 当 运行 后续导入时,您应该以这种方式指定
--last-value
以确保您只导入新的或更新的数据。
- 这是通过将增量导入创建为保存的作业来自动处理的,这是执行重复增量导入的首选机制。
指定
--incremental lastmodified
将生成更新语句,因此将根据
中提到的列更新该行(如果存在)
--checkcolumn
同时提到
--incremental append
将插入重复记录,因为它只会追加
使用 --append 和 --incremental append 将新行从 RDBMS 插入到 HDFS 中的现有数据集之间有什么区别吗?我正在使用 --append 和 --where 以及 --incremental append 和 --last-value。
--append
将数据附加到 HDFS 中的现有数据集
--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
参数指定要执行的增量导入类型。
追加:
- 导入 table 时应指定
append
模式,其中 随着行 ID 值的增加不断添加新行。 - 您使用
--check-column
指定包含行 ID 的列。 - Sqoop 导入检查列的值大于用
--last-value
指定的值的行。
上次修改时间:
- Sqoop 支持的另一种 table 更新策略称为
lastmodified
模式。 当源table的行可能被更新时,您应该使用它,并且每次这样的更新都会将最后修改列的值设置为当前时间戳。 - 检查列中的时间戳比用
--last-value
指定的时间戳更新的行被导入。 - 当 运行 后续导入时,您应该以这种方式指定
--last-value
以确保您只导入新的或更新的数据。 - 这是通过将增量导入创建为保存的作业来自动处理的,这是执行重复增量导入的首选机制。
指定
--incremental lastmodified
将生成更新语句,因此将根据
中提到的列更新该行(如果存在)--checkcolumn
同时提到
--incremental append
将插入重复记录,因为它只会追加