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

时间:2017-05-24 04:26:23

标签: hadoop hive amazon-athena

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

msck repair table_name

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

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

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

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

show partitions table_name

哪种更新分区的最佳方法(另一种选择还可以),搜索数据没有限制?

你能给我一个建议吗?

2 个答案:

答案 0 :(得分:2)

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

E.g。

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' 

答案 1 :(得分:0)

另一个选择也是

ALTER TABLE tblName UPDATE PARTITIONS;