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

时间:2019-03-20 14:01:21

标签: amazon-web-services amazon-s3 etl aws-glue

我在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数据放入一个数据库表中。我找不到很好的教程来说明如何进行设置。

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

我认为胶水是正确的选择,但我愿意接受其他选择!

2 个答案:

答案 0 :(得分:0)

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

使用搜寻器在粘合数据目录中创建一个表(创建搜寻器时,请记住在S3数据的分组行为下设置Create a single schema for each S3 path) 进一步了解here

然后,您可以使用relationalize来简化我们的json结构,详细了解here

答案 1 :(得分:0)

如果您需要使用Glue处理数据,而无需在Glue Catalog中注册表,则无需运行Glue Crawler。您可以设置作业,然后将getSourceWithFormat()recurse选项设置为true,将paths指向根文件夹(在您的情况下为["s3://my-bucket/"]或{{ 1}})。在作业中,您还可以应用任何必需的transformations,然后将结果写入另一个S3 bucket, relational DB or a Glue Catalog