当前位置: 首页 > news >正文

HIVE 模拟事务管理代码示例

1-已生成中间表,但未覆盖DWD   2-已覆盖DWD

--没有生成中间表时,不会走DWD覆盖环节

--生成中间表前,判断控制表状态是否为1,如果不是1,置为0,否则保持为1; 生成中间表后,生成控制表状态为1,覆盖完DWD后,生成控制表状态为2

--控制表初始化值必输为0

1、控制表生成SQL例子

insert overwrite 控制表select 1 as 状态 from 控制表 where 状态 = '1'union allselect 0 from 控制表 where not exists (select 1 from 控制表 where 状态 = '1')

2、中间表、DWD覆盖环节例子,只增加控制表的判断逻辑,旧的影响分区判断条件与此无关。

with 控制表 as (select 1 as 状态 from dual),DWD表 as( select 1 as 分区, '旧数据' 数据 from dualunion allselect 2 as 分区, '旧数据' 数据 from dual),prosess表 as (select 1 as 分区, '新数据' 数据 from dualunion allselect 3 as 分区, '新数据' 数据 from dual),原prosess表生成逻辑 as (select 1 as 分区, 'prosess新数据' 数据 from dualunion allselect 3 as 分区, 'prosess新数据' 数据 from dual)--insert overwrite prosess表select * from prosess表 where exists (select 1 from 控制表 where 状态 = '1')union allselect * from 原prosess表生成逻辑 where NOT exists (select 1 from 控制表 where 状态 = '1')

http://www.mrgr.cn/news/26611.html

相关文章:

  • VS2019插件安装
  • 软件项目上线发布流程是怎么样的?
  • QT 串口上位机读卡显示
  • 上市公司-双元创新数据合集(2000-2023年)
  • 2024年第二届《英语世界》杯全国大学生英语听力大赛
  • Python 课程7-requests和BeautifulSoup库
  • C到C++入门基础知识
  • 知识图谱与大模型的深度结合策略剖析
  • 如何用一个工具管理多个社交媒体账户?
  • 循环控制语句
  • 万字长文解密Apple Intelligence基础模型:打造高效、个性化、安全的端侧大模型
  • Find My后备箱|苹果Find My技术与后备箱结合,智能防丢,全球定位
  • Ruffle 继续在开源软件中支持 Adobe Flash Player
  • 成本估算模型
  • Mastering openFrameworks_Appendix A_使用插件
  • 干耳屎硬掏不出来怎么办?口碑好的可视耳勺
  • 三招教你搞定GPU服务器配置→收藏推荐配置
  • python的循环结构
  • 这么好用的桌面插件 怎么能不分享给你!
  • Nacos1.X中对NacosNamingService的实现