sqoop递增计数差异

rpppsulh  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(331)

我想使用sqoop将我的表的所有新行导入配置单元表,这个问题是我没有列来用于增量更新。
因此,我尝试计算表的所有对齐方式,并将其存储到带有timestamp列的配置单元中。
然后选择该数字的最大值,并将其与源表的行数进行比较。
我的问题是,如何使用sqoop导入配置单元表和源表之间的差异?

unguejic

unguejic1#

其思想是通过一些列或所有列将两个数据集左连接起来,然后找到右侧为null的位置,这样我们就只需要加载新的记录
您可以按照以下步骤操作

1) The initial load data (previous day data) is in hdfs  - Relation A
2) Import the current data into HDFS using sqoop -- Relation B
3) Use pig Load the above two hdfs directories in relation A and B define schema.
4) Convert them to tuples and join them by all columns
5) The join result will have two tuples in each row((A,B),(A,B)) , fetch the result from join where tuple B is null ((A,D),).
6) Now flatten the join by tuple A you will have new/updated records(A,D).

相关问题