HIVE周期合数功能

最近需要做一个hive周期合数的功能,考虑了一下,记录一下实现实现。

实现思路:使用datax抽取一张临时表 c.o_a_l_mytable,用临时表和原表o.o_a_l_mytable进行比对,将需要纠正的数据查询出,发送KAFKA等,统一进行数据Sink。

1. INSERTUPDATE(已验证)

-- 获取insert及delete数据
select max(rowkey), max(aa), bb, max(cc), max(remark), max(timestamp), max(datatype) datatype from (
select 'DELETE_CHK' datatype, rowkey, bb from o.o_m_l_mytable a 
union all
select 'INSERT_CHK' datatype, rowkey, bb from c.o_a_l_mytable b
)m
group by bb having count(*)=1

2. UPDATE(待验证)

思路:使用LEFT JOIN, 将条件作为on的关联条件进行比对

-- 通过左连接判断对应的值cutime是否相等,连接表对应的字段为null则不相等,将数据捞出,并把原数据和现在的数据取出
with temp3 as(
SELECT m.rowkey, m.id from o.o_m_l_mytable m LEFT JOIN c.o_a_l_mytable c ON m.id=c.id and m.cutime=c.cutime
where c.cutime is null)
select m.*, 'DELETE' dbtype from o.o_m_l_mytable m JOIN temp3 ON m.rowkey=temp3.rowkey
UNION
select c.*, 'ISNERT' dbtype from  c.o_a_l_mytable c JOIN temp3 on c.id=temp3.id

 

根据提供的引用内容,Hive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能Hive功能分析可以包括以下几个方面: 1. 数据导入和导出:Hive可以通过Hadoop的文件系统将数据从外部存储导入到Hive表中,也可以将Hive表中的数据导出到外部存储中。 2. 数据定义和模式管理:Hive支持类SQL的语法,可以使用类似于SQL的语句来创建、修改和删除表,以及定义表的模式和分区。 3. 数据查询和分析:Hive提供了类SQL的查询语法,可以对Hive表中的数据进行查询、过滤、排序和聚合等操作。同时,Hive还支持用户自定义函数(UDF)和用户自定义聚合函数(UDAF),可以根据具体需求进行数据分析和计算。 4. 数据转换和处理:Hive支持使用HiveQL语言进行数据转换和处理,可以通过HiveQL语句对数据进行清洗、转换和整合,以满足不同的业务需求。 5. 数据存储和管理:Hive使用Hadoop的分布式文件系统(HDFS)来存储数据,可以将数据分布在多个节点上,实现数据的高可靠性和高可扩展性。 6. 数据安全和权限管理:Hive提供了对数据的访问控制和权限管理功能,可以通过角色和权限设置来限制用户对数据的访问和操作。 7. 数据优化和性能调优:Hive支持对查询进行优化和性能调优,可以通过设置合适的参数、使用合适的数据存储格式和索引等方式来提高查询的性能。 8. 数据可视化和报表生成:Hive可以与其他数据可视化工具(如Tableau、Power BI等)结合使用,将Hive表中的数据可视化展示,并生成报表和图表。 以上是Hive课设的功能分析,通过Hive可以实现数据的导入导出、定义和管理表的模式、进行数据查询和分析、数据转换和处理、数据存储和管理、数据安全和权限管理、数据优化和性能调优,以及数据可视化和报表生成等功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值