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

zy1mlcev  于 2021-06-01  发布在  Hadoop
关注(0)|答案(2)|浏览(391)

我想用下面的代码更新分区。

msck repair table_name

(我不能像那样使用其他选项,如refresh语句)
但我不知道更新分区的最佳方法。
1) 我每分钟运行一次代码。
2) 我使用show命令选择分区,如果分区不存在,则运行该代码。

show partitions table_name

更新分区的最佳方法是什么(另一种方法也可以),所以搜索数据没有限制?
你能给我个建议吗?

j2cgzkjk

j2cgzkjk1#

命令 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'
jjhzyzn0

jjhzyzn02#

另一个选择是

ALTER TABLE tblName UPDATE PARTITIONS;

相关问题