可以在一个“ALTER TABLE”命令中添加多个分区吗?

时间:2017-10-19 20:21:24

标签: presto amazon-athena

我正在使用Amazon Athena来查询存储在S3存储桶中的一些日志文件,并且正在使用分区来分析一年中我需要查询的文件。我想知道 - 因为我有很多天要添加到我的表中,我可以在一个ALTER TABLE命令中完成所有操作,还是需要尽可能多的ALTER TABLE命令我想创建的分区?

这是我目前使用的命令的一个示例:

ALTER TABLE
  logfiles
ADD PARTITION
  (day='20170525')
location 's3://log-bucket/20170525/';

如果我必须为每个分区使用一个ALTER TABLE命令,有没有办法创建一个天的范围,然后让Athena循环创建分区,而不是我手动复制/粘贴这个命令100多次?

1 个答案:

答案 0 :(得分:3)

根据在https://docs.aws.amazon.com/athena/latest/ug/alter-table-add-partition.html找到的Athena文档,或者你可以去athena root并搜索add partition,可以 向一个ALTER TABLE命令添加多个分区。

ALTER TABLE orders ADD
  PARTITION (dt = '2016-05-14', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_14_May_2016'
  PARTITION (dt = '2016-05-15', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_15_May_2016';