【问题标题】:Sqoop incremental loading into partitioned hive tableSqoop 增量加载到分区的配置单元表中
【发布时间】:2016-11-18 12:51:41
【问题描述】:

如何将增量数据加载到分区 hive 表中

我有包含以下列的表“用户”,我已经根据 created_on 字段创建了配置单元分区

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

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

有没有办法解决这个问题

【问题讨论】:

    标签: hadoop hive sqoop apache-hive


    【解决方案1】:

    您在 1 列的分区中加载,并希望基于不同的列进行写入?那简直是“不匹配”。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      • 2020-12-01
      • 2018-05-28
      • 2015-04-22
      • 2013-01-12
      • 1970-01-01
      相关资源
      最近更新 更多