我在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数据放入一个数据库表中。我找不到很好的教程来说明如何进行设置。
理想情况下,我还可以对某些列执行小的“规范化”转换。
我认为胶水是正确的选择,但我愿意接受其他选择!
答案 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。