考虑具有以下数据的表部门 -
ID -1,2,3,8000
Name- A,B,C,D
我使用sqoop
将数据导入HDFS在MySQL中添加了2个ID为4和5的新行 执行增量导入,最后一个值为3,mode = append
导入的数据有两行8000 ID,因为使用的条件是department_id> 3 如何调整以下命令以确保创建重复的行。
sqoop import
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db"
--username=retail_dba
--password=cloudera
--table departments
--target-dir/user/cloudera/dep1
--append
--check-column "department_id"
--incremental append
--last-value 3
答案 0 :(得分:0)
您无法调整此命令。
--incremental append
用于追加--check-column
>的新数据-last-value
。
对于您的用例,您应该使用--incremental lastmodified
。
--check-column
应该是日期,时间,日期时间和时间戳数据类型。
如果您在--last-value
之后添加了新记录,它将获取所有记录(新的或更新的)
示例命令:
sqoop import
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username=retail_dba \
--password=cloudera \
--table departments \
--target-dir/user/cloudera/dep1 \
--incremental lastmodified \
--check-column last_update_date \
--last-value "2015-10-20 06:00:01"
导入"2015-10-20 06:00:01"
后添加的所有记录。
检查sqoop documentation以获取更多详细信息。