AWS雅典娜:使用“文件夹”的名称作为分区

问题描述:

我有成千上万的存储在S3与以下路径个人JSON文件(对应于一个表行):s3://my-bucket/<date>/dataXX.jsonAWS雅典娜:使用“文件夹”的名称作为分区

当我在DDL创建我的表,是它可以通过S3路径中的当前数据进行分区? (或者至少在一个新列中添加值)

感谢

可悲的是,这是不是在雅典娜支持。要进行分区以处理文件夹,必须对文件夹的命名方式有所要求。

例如 s3:// my-bucket/{columnname} = {columnvalue} /data.json

对于您的情况,如果您将这些分区手动添加到表中,仍然可以使用分区。

例如 ALTER TABLE tablename ADD PARTITION(datecolumn ='2017-01-01')location's3:// my-bucket/2017-01-01/

AWS文档在这个主题上有一些很好的例子。

AWS Athena Partitioning