我想用下面的代码更新分区。
msck repair table_name
(我不能像那样使用其他选项,如refresh语句)但我不知道更新分区的最佳方法。1) 我每分钟运行一次代码。2) 我使用show命令选择分区,如果分区不存在,则运行该代码。
show partitions table_name
更新分区的最佳方法是什么(另一种方法也可以),所以搜索数据没有限制?你能给我个建议吗?
j2cgzkjk1#
命令 msck repair table_name 是个很贵的。您可以使用命令 ADD PARTITION .例如
ADD PARTITION
ALTER TABLE tblName ADD PARTITION (dt='2008-08-08', country='us') location '/path/to/us/part080808'
如果不想检查分区是否存在,只需使用 IF NOT EXISTS . 如果不存在,它将创建分区。
IF NOT EXISTS
ALTER TABLE tblName ADD IF NOT EXISTS PARTITION (dt='2008-08-08', country='us') location '/path/to/us/part080808'
jjhzyzn02#
另一个选择是
ALTER TABLE tblName UPDATE PARTITIONS;
2条答案
按热度按时间j2cgzkjk1#
命令
msck repair table_name
是个很贵的。您可以使用命令ADD PARTITION
.例如
如果不想检查分区是否存在,只需使用
IF NOT EXISTS
. 如果不存在,它将创建分区。jjhzyzn02#
另一个选择是