首页 > 其他分享 >HIVE增量同步方案2

HIVE增量同步方案2

时间:2023-09-24 12:45:59浏览次数:38  
标签:同步 20191020 HIVE student 增量 20191021 table dt id

SELECT  student_temp.id
        ,coalesce(student_temp.age,student.age) as age 
        ,student_temp.name
        ,coalesce(student_temp.dt,student.dt) as dt
FROM    student_temp
FULL OUTER JOIN student
ON      student_temp.id = student.id
;
————————————————
版权声明:本文为CSDN博主「混子风闲」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46905895/art

TMP表是增量表 ,   增量表作为主表 ,full outer join  大表,  会返回两个表所有数据,两个表中其中一个表不存在的数据用null代替

获取数据的时候用

 
coalesce 函数   获取 temp字段值, 为空的话获取  b表数据。
COALESCE 案例:

 

 

















 

 

方法三

先将 base_table 表和 incremental_table 表 left join,将未修改的数据覆盖写到 base_table 表,再将修改的数据插入到 base_table 表。

    hive> select * from base_table;
    OK
    1       lijie   chongqing       20191020
    2       zhangshan       sz      20191020
    3       lisi    shanghai        20191020
    4       wangwu  usa     20191020
    hive> select * from incremental_table;
    OK
    1       lijie   chongqing       20191020
    2       zhangshan       sz      20191020
    3       lisi    shanghai        20191020
    4       wangwu  usa     20191020
    1       lijie   chengdu 20191021
    2       zhangshan       huoxing 20191021
    4       wangwu  lalalala        20191021
    5       xinzeng hehe    20191021
    insert overwrite table base_table
        select a.id,
               a.name,
               a.addr,
               a.dt
        from base_table a
        left join (select * from incremental_table where dt='20191021') b
        on a.id=b.id
        where b.id is null
        union all
        select c.id,
               c.name,
               c.addr,
               c.dt
        from (select * from incremental_table where dt='20191021') c;
    hive> select * from base_table;
    OK
    3       lisi    shanghai        20191020
    1       lijie   chengdu 20191021
    2       zhangshan       huoxing 20191021
    4       wangwu  lalalala        20191021
    5       xinzeng hehe    20191021

 

标签:同步,20191020,HIVE,student,增量,20191021,table,dt,id
From: https://www.cnblogs.com/mengbin0546/p/17725696.html

相关文章

  • Could not open client transport with JDBC Uri: jdbc:hive2://node1:10000: java.n
    今天发现连接beeline是时候连接不上,不应该啊昨晚还可以的qaq  破案了,我启动了metastore之后忘记去启动hiveserver2hiveserver2都没启动能连上就怪了 一定一定要记得启动顺序!!!hadoop+metastore+hiveserver2+beeline ......
  • 使用sqoop export命令将hive数据导入mysql
    描述一下因为我前两天的测试里面,用的是另外一种方法,所以今天想要尝试一下sqoopexport的方法,这个方法我之前也试过,但是一直报错,但是!我又来啦!!!相关步骤自己设置一个数量不多的csv文件:然后按照之前的步骤:上传,导入数据库:然后在mysql里面同时创建一个与hive数据库中结构一致......
  • C# AutoCAD 利用Editor.CommandAsync 同步监测自带命令的执行情况
    #1官方文档并无相关解释:AutoCAD2023DeveloperandObjectARXHelp|Editor.CommandAsyncMethod|Autodesk#2上例子,我用自带的命令画一个圆,画完后我要修改它的颜色,此时该如何操作呢,下面是可用的代码[CommandMethod(nameof(tt_CommandAsync))]publicvoidtt_Comma......
  • hive的一些操作(防忘)
    createdatabasetest_1;创建数据库 dropdatabasetest_1; 删除数据库 showdatabases;查看数据库 ......
  • 关于Hadoop和hive启动关闭的一些命令
    Hadoop启动/关闭:start-all.sh/stop-all.sh HDFS:start-dfs.sh/stop-dfs.sh YARN:start-yarn.sh/stop-yarn.shhive启动metastore服务:前台启动/export/server/apache-3.1.2-bin/bin/hive--servicemetastore 后台启动nohup/export/server/apache-hive-3.1.2-bin/bin/hi......
  • Hive的使用以及如何利用echarts实现可视化在前端页面展示(四)---连接idea使用echarts
    说来惭愧,我的javaweb烂得一批,其他步骤我还是很顺利地,这个最简单的,我遇到了一系列问题。只能说,有时候失败也是一种成功吧这一步其实就是正常的jdbc,没什么可说明的,但是关于使用echarts我还是遇到了一些困难,如果有高手能指正一二,感激不尽echarts获取前端数据要使用Ajax,我不会这个语......
  • Hive的使用以及如何利用echarts实现可视化在前端页面展示(三)---hive数据利用sqoop导
    1、安装sqoop我的版本jdk1.8hadoop3.1.3sqoop1.4.6基本上就安装这个版本都没问题,如果是执行连接数据库命令时报错:java.lang.NoClassDefFoundError;报错,在lib下再放一个commons-lang-2.6.jar即可,sqoop安装:Indexof/dist/sqoop(apache.org)commons-lang-2.6.jar下载:commo......
  • Hive的使用以及如何利用echarts实现可视化在前端页面展示(二)---hive部分的实现
    1、利用远程连接器上传csv文件2、进入hive创建表结构:创建一个Hive表的SQL语句:这个表名为 "sales",包含了五个列:day_id、sale_nbr、buy_nbr、cnt 和 round。此表的数据格式为逗号分隔的文本文件,每一行都用逗号分隔字段。createtablesales(day_idstring,sale_nbrstring,b......
  • Hive
    Hive简介Hive是一种大数据处理工具,使用类SQL的HiveQL语言实现数据查询,它底层封装了Hadoop,所有Hive的数据都存储在Hadoop兼容的HDFS中。更官方的描述:Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模......
  • Hive学习3(数据库操作DML、join、hive函数)
    1.对数据库操作数据定义语言(DataDefinitionLanguage,DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言,这些数据库对象包括database、table等。DDL核心语法由CREATE、ALTER与DROP三个所组成。DDL并不涉及表内部数据的操作。1.1创建数据库created......