仅将更新的记录从SQL导入配置单元

仅将更新的记录从SQL导入配置单元,sql,hadoop,hive,hbase,sqoop,Sql,Hadoop,Hive,Hbase,Sqoop,因为我们有一个包含两列的表,所以让我们在SQL中进行假设 (我们在SQL源表中没有任何创建日期、更新日期、标记列,并且不修改源表) 我使用sqoop将数据拉入hive作为主表,这样就可以了 但是如果源数据更新如下 id name 1 ACACA 2 BASBA 3 CCHAH 4 AASDA1 5 GGAGAG 问题: 结果应该是: 要求: Hive没有提供更新特定条目的选项,但如果您针对特定情况,则有一些变通方法 对于仅提取更新/新鲜数据,您必须具有某种时间戳或机制,

因为我们有一个包含两列的表,所以让我们在SQL中进行假设 (我们在SQL源表中没有任何创建日期、更新日期、标记列,并且不修改源表)

我使用sqoop将数据拉入hive作为主表,这样就可以了 但是如果源数据更新如下

  id name
  1 ACACA
  2 BASBA
  3 CCHAH
  4 AASDA1
  5 GGAGAG
问题: 结果应该是: 要求:
Hive没有提供更新特定条目的选项,但如果您针对特定情况,则有一些变通方法

对于仅提取更新/新鲜数据,您必须具有某种时间戳或机制,以派生上次导入后数据中更新/添加的所有行。一旦有了它,您就可以使用--incremental with sqoop作为参数,或者在查询中传递--where子句以仅拾取更新/插入的条目

你的第二个需求是hive不支持的,那就是更新已经加载的条目,所以如果它对你有帮助的话,这里是我的2美分

在不同的表或日期分区中加载新数据,然后在主键上与现有配置单元表和此新表进行左外连接,以填充现有表中更新的列,并在现有表中插入覆盖此数据。虽然这不是一个一步的过程,但这是可行的

  • 为首次加载创建一个内部表(基本表)
  • 为增量记录和更新记录创建外部表(增量表)
  • 根据主键和max_date连接基本_表和增量_表,并在其上创建一个视图
  • 在视图顶部创建临时表(报告表)
  • 删除基本表并插入报告表中的数据。 请参阅以下链接:

  • 如果没有一列指示给定行的“上次更新”(或类似),则必须提取所有行。一些RDBMS可能会将其存储为元信息,您使用的是哪个供应商/版本?如果不想更新目标数据库中的所有行,则必须将它们放在临时表(目标数据库上)中,以便与(此站点上的示例)进行比较。因此,您的选项是添加列(可能),或运行完全比较。
      id name
      1 ACACA
      2 BASBA
      3 CCHAH
      4 AASDA1
      5 GGAGAG
    
    My Issue is that without effecting the Main table data in hive i need to pull the
    Updated or Inserted or Deleted data using Sqoop and
    also simultaneously update in the Hive Main Table without effecting the 
    Existing once....
    i have tried  tried to use
    --incremental .... so on properties but no result....
    
    output main table is having all the 10 records... it should be 5 records....
    If we have More Records like millions of Records Then What is the Solution.....
    
    on day1 i have 1millions of records
    on day 2 i have 1million + current day + updated lets say 2 million
    on day2 i have to pull only updated and newly inserted data rather than whole data.
    and also 
    can Anyone Help me how to combine day1 hive data with day2 updated data...
    
    
    In case if Anyone has Any other solution like any Alternative please suggest me 
    Clearly Because i m new to hadoop....