ByteHouse 云数仓版支持唯一表 Unique Table 和普通表。其中唯一表支持通过 Delete Flag 对单条数据进行删除,而普通表不支持删除单条数据,仅支持删除分区下的数据。因此,需要删除普通表中的数据时,可以通过删除该数据所在的分区,再进行重新导入的方式实现。
本文通过 cell_tower 数据为例,介绍分区删除的两种方式,cell_tower 的建表和数据导入可以参考样本数据 进行准备。
在 cell_tower 数据导入后,查看对应的数据库表(元数据可能有 5 分钟的刷新延迟),可以看到分区统计信息。本数据表使用的是按每月的第一天进行月度分区。可以通过筛选条件对分区键进行细粒度搜索。
选择具体的分区键,在右上角删除数据,二次确认后即可删除对应的分区。
相应地,可以执行以下 SQL 对分区进行删除,如下所示:
ALTER TABLE `auroratest`.`cell_towers` DROP PARTITION '2009-08-01', DROP PARTITION '2009-07-01';