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

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

问题描述:

我正在使用Amazon Athena通过存储在S3存储桶中的一些日志文件进行查询,并且正在使用分区来为我需要查询的文件分割一年中的几天。我想知道 - 因为我有很多天要添加到我的表格中,我可以在一个ALTER TABLE命令中完成所有这些操作,还是需要使用与我想要创建的分区数量一样多的ALTER TABLE命令?您可以在一个“ALTER TABLE”命令中添加多个分区吗?

这是我使用的那一刻命令的例子:

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

如果我必须每个分区使用一个ALTER TABLE命令,有没有一种方法来创建一个日期范围,然后有雅典娜循环通过它来创建分区,而不是我手动复制/粘贴这个命令100+次?

看来,你可以添加多个分区到一个ALTER TABLE命令,每发现雅典娜文档在http://docs.aws.amazon.com/athena/latest/ug/ddl/alter-table-add-partition.html

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';