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;

你可能感兴趣的:(2022-12-14 临时分区配置解决先删后插时数据空白期)