首页 > 解决方案 > 如何使用 AWS Crawler 为动态 S3 路径创建 Athena 表?

问题描述

下面给出了我的 S3 路径,其中存在多个文件夹。每个文件夹都包含一个 CSV 文件,每个文件都有不同的架构。

花括号 {} 中的值将是动态的。

s3://test_bucket/{val1}/data/{val2}/input/latest/

s3://test_bucket/{val1}/data/{val2}/input/archived/timestamp={val3}/

我想使用 AWS Glue Crawler 创建 Athena 表。我们可以为当前和存档的 input_data 建立一个单独的数据库。

形成的表应该是在val1 和 val2上对当前和存档进行分区。并且,在存档的情况下,表中应该存在一个附加分区,即val3

请帮助我使用我可以采取的任何方法来设置动态创建表的配置。我真的很感激你的时间。如果需要更多信息,请告诉我。

标签: amazon-web-servicesamazon-s3aws-glueamazon-athenaaws-glue-data-catalog

解决方案


最简单和最有效的方法是使用分区投影。提供文档:https ://docs.aws.amazon.com/athena/latest/ug/partition-projection.html


推荐阅读