您可以在一个“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';