2022-12-14 临时分区配置解决先删后插时数据空白期

在传统数据重写的过程中,还是使用多批次处理等复杂方法进行先删后插时出现的数据空白期。
有了临时分区和原子替换分区等功能可以完美解决此问题。

在以下应用场景中,您可以使用临时分区功能:

  1. 原子的覆盖写操作

如果您需要重写某一分区的数据,同时保证重写过程中可以查看数据,您可以先创建一个对应的临时分区,将新的数据导入到临时分区后,通过替换操作,原子地替换原有分区,从而达到目的。对于非分区表的原子覆盖写操作,请参考 ALTER TABLE - SWAP

增加临时分区
ALTER TABLE [database.]table 
ADD TEMPORARY PARTITION [IF NOT EXISTS] partition_name
partition_desc ["key"="value"]
[DISTRIBUTED BY HASH (k1[,k2 ...]) [BUCKETS num]];

使用临时分区替换原分区
ALTER TABLE [database.]table 
REPLACE PARTITION partition_name 
partition_desc ["key"="value"]
WITH TEMPORARY PARTITION
partition_desc ["key"="value"]
[PROPERTIES ("key"="value", ...)]

删除临时分区
ALTER TABLE [database.]table
DROP TEMPORARY PARTITION partition_name;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java继承关系初始化顺序 父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父...
    第六象限阅读 2,174评论 0 9
  • 第10章 - MySQL性能优化 学习目标: 了解MySQL优化 了解常见的优化思路 了解查询优化 了解索引优化 ...
    笨比乔治阅读 623评论 0 1
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,455评论 0 9
  • 1. 数据库 数据库起到了命名空间的作用,可以有效规避命名冲突的问题,也为后续的数据隔离提供了支撑。任何一张数据表...
    CoderJed阅读 2,908评论 0 4
  • 目录 一、概述 二、关键词,非保留关键字和保留关键字 三、创建/删除/修改/使用数据库3.1、 创建数据库3.2、...
    三分清醒阅读 1,416评论 0 1