更新分区的最佳方法是什么?

What is the best way to update partitions?

我想使用以下代码更新分区。

msck repair table_name

(我不能像那样使用其他选项,例如刷新语句)

但是我不知道更新分区的最佳方法。

1) 我 运行 每分钟编码一次。

2) 我 select 使用 show 命令分区然后如果分区不存在则 运行 该代码。

show partitions table_name

更新分区的最佳方式是什么(其他选项也可以),所以搜索数据没有限制?

你能给我一个建议吗?

命令 msck repair table_name 是昂贵的。您可以使用命令 ADD PARTITION.

例如

ALTER TABLE tblName ADD PARTITION (dt='2008-08-08', country='us') location '/path/to/us/part080808'

如果您不想检查分区是否存在,只需使用IF NOT EXISTS。如果不存在,它将创建分区。

ALTER TABLE tblName ADD IF NOT EXISTS PARTITION (dt='2008-08-08', country='us') location '/path/to/us/part080808' 

另一个选项也是

ALTER TABLE tblName UPDATE PARTITIONS;