我正在使用Amazon Athena来查询存储在S3存储桶中的一些日志文件,并且正在使用分区来分析一年中我需要查询的文件。我想知道 - 因为我有很多天要添加到我的表中,我可以在一个ALTER TABLE
命令中完成所有操作,还是需要尽可能多的ALTER TABLE
命令我想创建的分区?
这是我目前使用的命令的一个示例:
ALTER TABLE
logfiles
ADD PARTITION
(day='20170525')
location 's3://log-bucket/20170525/';
如果我必须为每个分区使用一个ALTER TABLE
命令,有没有办法创建一个天的范围,然后让Athena循环创建分区,而不是我手动复制/粘贴这个命令100多次?
答案 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';