1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 您好,
正如您正确指出的那样,Athena查询只能在“storage.location.template”中的日期分区格式与S3存储桶中的实际路径匹配时才能拾取底层日期分区和数据。由于“storage.location.template”中的“${dt}”路径格式取决于“projection.dt.format”中定义的日期格式,因此无法使用Athena分区投影将零填充格式定义或映射为非零填充格式。
一个可能的解决方法是使用传统的Hive分区而不是分区投影,例如,在创建表时不使用分区投影,然后可以使用ALTER TABLE ADD PARTITION手动查询或以编程方式添加和映射日期分区到s3路径:
ALTER TABLE my_table_name ADD PARTITION (dt = '2022/09/06') LOCATION 's3://mystorage/path/to/2022/9/6/';
为了以编程方式批量添加分区,您可以使用自定义Python脚本构建Athena查询,并通过start_query_execution API执行它们。 参考:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/athena.html#Athena.Client.start_query_execution
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 9 个月前
- AWS 官方已更新 1 年前