我想使用sqoop导入我的表的所有新行到hive表,这个问题我没有用于我的增量更新的列。
我的问题是,如何使用sqoop导入我的hive表和源表之间的差异?
答案 0 :(得分:0)
我们的想法是通过某些列或所有列连接两个数据集,然后找到右侧为空的位置,以便我们只有新的记录要加载
您可以按照以下步骤操作
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).