到配置单元表的增量sqoop

c9qzyr3d  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(511)

众所周知,增量sqoop导入开关不适用于通过sqoop导入配置单元。但解决办法是什么呢?
1) 我可以弥补的一点是,我们可以创建一个配置单元表,通过sqoop将增量数据引入hdfs,然后手动加载它们。但如果我们这样做,每次加载时,数据都会被覆盖。如果我错了,请纠正我。
2) 将数据复制到配置单元时,查询的效果如何?
谢谢您

von4xj4u

von4xj4u1#

您可以对配置单元表执行sqoop增量追加,但是没有直接的选项,下面是实现它的方法之一。
将增量表作为外部表存储在配置单元中。更常见的做法是导入自上次更新数据以来的增量更改,然后将其合并。在以下示例中,-check列用于获取比上次导入日期(即上次增量数据更新的日期)新的记录:

  1. 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表上基本联接的灵活性,以及使用日期和时间格式的灵活性。如果我站在你的立场上,我会这样做,使用查询,我会以我需要的方式导入数据,然后将其附加到我的原始表中,当从临时表加载到主表时,我可以更多地处理数据。如果更新不太频繁,我建议使用query。

相关问题