增量 sqoop 到 HIVE table

incremental sqoop to HIVE table

已知 --incremental sqoop import 开关不适用于通过 SQOOP 导入 HIVE。但是解决方法是什么?

1)我可以弥补的一点是,我们可以创建一个HIVE table,通过SQOOP将增量数据带到HDFS,然后手动加载它们。但如果我们这样做,每次加载时,数据都会被覆盖。如果我错了,请纠正我。

2) sqooping 数据到 HIVE 时 --query 的效率如何?

谢谢

您可以对配置单元执行 sqoop 增量追加 table,但是没有直接的选项,下面是您可以实现它的方法之一。

将增量 table 作为外部 table 存储在 Hive 中。 更常见的是导入自上次更新数据以来的增量更改,然后合并 it.In 以下示例,--check-column 用于获取比 last_import_date 更新的记录,即日期上次增量数据更新:

sqoop import --connect jdbc:teradata://{host name}/Database=retail —connection manager org.apache.sqoop.teradata.TeradataConnManager --username dbc -password dbc --table SOURCE_TBL --target-dir /user/hive/incremental_table -m 1 --check-column modified_date --incremental lastmodified --last-value {last_import_date}

问题的第二部分

Query 也是一个非常有用的参数,您可以在 swoop import 中利用它,这将为您提供在 rdbms table 上进行基本连接的灵活性以及使用日期和时间格式的灵活性。如果我处在你的位置,我会这样做,使用查询,我将以我需要的方式导入数据,然后将其附加到我的原始 table 中,同时从临时加载到主要 table我可以玩更多的数据。如果更新不是太频繁,我建议使用查询。