Sqoop增量加载到分区的配置单元表中

时间:2016-11-18 12:51:42

标签: hadoop hive sqoop apache-hive

如何将增量数据加载到分区的配置单元表

我的表“users”包含以下列,我已根据created_on字段创建了hive分区

id bigint,
name string,
created_on string(yyyy-MM-dd),
updated_on string

我创建了一个sqoop作业,可根据上次修改日期递增导入

sqoop job --create users -- import --connect jdbc:mysql://<ip>/product  --driver com.mysql.jdbc.Driver --username <> -P --table users --incremental lastmodified --check-column updated_on --last-value "2016-11-15"--hive-table users --hive-import --hive-partition-key created_on --hive-partition-value "2016-11-15" --m 1

如果您观察到上述作业,则会根据上次修改的值获取并插入错误的分区

是否有解决此问题的工作

1 个答案:

答案 0 :(得分:0)

您加载1列的分区,并期望基于不同的列写入?那只是“不匹配”。

解决方案似乎是使负载和分区对齐。

因此,如果您要编写created_on等于2016-11-15的所有记录,那么还要确保正好加载那些记录。 (我想你不应该在这种情况下使用标准的增量功能)。