首页 > 其他分享 >Hive从小时表中删除重复数据

Hive从小时表中删除重复数据

时间:2023-09-11 10:07:14浏览次数:33  
标签:map lib 删除 分区 Hive json 表中 prod id



Hive从小时分区中删除重复数据

  • 一、小时分区数据去重
  • 二、重写小时分区数据


一、小时分区数据去重

小时分区数据去重后,写入到hive临时表中

with to_json_map as (
select distinct _track_id
    ,time
    ,distinct_id
    ,to_json(lib) as lib
    ,event
    ,to_json(properties) as properties
    ,_flush_time
    ,map_id
    ,user_id
    ,login_id
    ,anonymous_id
    ,recv_time
    ,to_json(extractor) as extractor
    ,project_id
    ,project
    ,ver
    ,type
    ,device_id
    from ods_tracking_data_kafka_prod.sensor_tracking_kafka_nioapp_prod_1h_i
    where datetime = '2023061417'
),

from_json_map as (
    select 
     _track_id as track_id
    ,time
    ,distinct_id
    ,from_json(lib,'map<string,string>') as lib
    ,event
    ,from_json(properties,'map<string,string>') as properties
    from to_json_map
)
insert overwrite tmp.app_prod_20230614
    partition (datetime = '2023061417')
select * from from_json_map

二、重写小时分区数据

从临时表中把数据写回小时分区中

insert overwrite ods_tracking_data_kafka_prod.sensor_tracking_kafka_nioapp_prod_1h_i
    partition (datetime = '2023061417')
select 
    track_id as _track_id
    ,time
    ,distinct_id
    ,lib
    ,event
    ,properties
from tmp.app_prod_20230614 
where datetime = '2023061417'


标签:map,lib,删除,分区,Hive,json,表中,prod,id
From: https://blog.51cto.com/u_12080573/7432127

相关文章

  • Iceberg从入门到精通系列之九:flink sql修改Iceberg表和删除Iceberg表
    Iceberg从入门到精通系列之九:flinksql修改Iceberg表一、修改表属性二、修改表名三、删除表一、修改表属性ALTERTABLE`hive_catalog`.`default`.`sample`SET('write.format.default'='avro');二、修改表名ALTERTABLE`hive_catalog`.`default`.`sample`RENAMETO`hive_cat......
  • PostgreSQL数据库从入门到精通系列之六:深入理解逻辑复制槽,创建逻辑复制槽,删除逻辑复制
    PostgreSQL数据库从入门到精通系列之六:深入理解逻辑复制槽,创建逻辑复制槽,删除逻辑复制槽一、逻辑复制槽二、创建逻辑复制槽三、删除逻辑复制槽一、逻辑复制槽在PostgreSQL中,逻辑复制槽是一种用于实现逻辑复制的功能。逻辑复制槽允许将源数据库的更改流式传输到目标数据库,并使目标......
  • 例2.6 设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为0(n)空间复杂
    1.题目例2.6设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为0(n)空间复杂度为0(1)。2.算法思想3.代码voidDeleteX(SeqListLA,SeqList*LC,intx){inti=0,j=0;while(i<=LA.last){if(LA.element[i]==x)i++;else......
  • Linux删除文件夹命令
    Linux删除文件夹命令在Linux系统中,要删除文件夹,可以使用以下命令:1.rm命令rm命令用于删除文件和目录。要删除一个空文件夹,可以使用以下命令:rm-rfolder_name其中,-r选项表示递归删除,即删除文件夹及其内部的所有文件和子文件夹。如果要删除非空文件夹,可以使用以下命令:rm-rffolder_......
  • Icoding 链表 删除范围内结点
    题目:已知线性表中的元素(整数)以值递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度。链表结点定义如下:struct_lnklist{ElemTypedata;struct_lnklist*next;};typedefstruct......
  • java版本剑指offer:链表中倒数最后k个结点
    java版本剑指offer:链表中倒数最后k个结点描述输入一个链表,输出一个链表,该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。如果该链表长度小于k,请返回一个长度为0的链表。最简单的方式就是使用两个指针,第一个指针先移动k步,然后第二个指针再从头开始,这个时候这两个指针......
  • Java版剑指offer:链表中环的入口结点
    Java版剑指offer:链表中环的入口结点描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。输入描述:输入分为2段,第一段是入环前的链表部分,第二段是链表环的部分,后台将这2个会组装成一个有环或者无环单链表返回值描述:返回链表的环的入口结点即可。而我们后台程序......
  • Hive表分区查询show partitions tablename
    Hive表分区查询showpartitionstablenameSparkSql:%sqlshowpartitionsgrainfo;......
  • hdfs批量上传下载文件和删除指定目录下文件
    hdfs批量上传下载文件和删除指定目录下文件一、hdfs批量下载文件hdfsdfs-gets3a://bigdata/infra/zeppelin/notebook/二、hdfs批量上传文件hdfsdfs-put./*/bigdata/infr/zeppelin/notebook/三、hdfs删除指定目录hdfsdfs-rm-r/bigdata/infra/zeppelin/notebook/wei.ji10......
  • 如何正确地开启hiveserver2服务
    1、开启hadoop服务主目录输入下面的语句即可:start-all.sh使用jps命令查看进程,即可确定hadoop是否已经启动;2、开启hive的metastore服务nohup/export/server/apache-hive-3.1.2-bin/bin/hive--servicemetastore&然后开启hiveserver2服务:nohup/export/server/apache-hi......