如何使用AWS Glue从S3导入JSON数据?

问题描述 投票:0回答:2

我在AWS S3中存储了一大堆以JSON格式存储的数据。它看起来像这样:

s3://my-bucket/store-1/20190101/sales.json
s3://my-bucket/store-1/20190102/sales.json
s3://my-bucket/store-1/20190103/sales.json
s3://my-bucket/store-1/20190104/sales.json
...
s3://my-bucket/store-2/20190101/sales.json
s3://my-bucket/store-2/20190102/sales.json
s3://my-bucket/store-2/20190103/sales.json
s3://my-bucket/store-2/20190104/sales.json
...

这是完全相同的架构。我想将所有JSON数据都放到一个数据库表中。我找不到一个很好的教程来解释如何设置它。

理想情况下,我也可以在某些列上执行小的“规范化”转换。

我认为Glue是正确的选择,但我对其他选择持开放态度!

amazon-web-services amazon-s3 etl aws-glue
2个回答
0
投票

是的,Glue是一个很棒的工具!

使用爬虫在胶水数据目录中创建表格(记得在创建爬虫时在S3数据的分组行为下设置Create a single schema for each S3 path)了解更多信息here

然后你可以使用relationalize来展平你的json结构,阅读更多关于那个here


0
投票

如果您需要使用Glue处理数据,并且不需要在Glue Catalog中注册表,那么就不需要运行Glue Crawler。您可以设置一个作业并使用getSourceWithFormat()recurse选项设置为truepaths指向根文件夹(在您的情况下,它是["s3://my-bucket/"]["s3://my-bucket/store-1", "s3://my-bucket/store-2", ...])。在工作中,您还可以应用任何所需的transformations,然后将结果写入另一个S3 bucket, relational DB or a Glue Catalog

© www.soinside.com 2019 - 2024. All rights reserved.