数据管道(从DynamoDB到S3)-如何格式化S3文件?

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

[我有一条数据管道将DynamoDB表导出到S3存储桶,因此我可以将S3文件用于QuickSight,Athena和Forecast等服务。

但是,要使我的S3文件可与这些服务一起使用,我需要将文件格式化为csv格式:

date, journal, id
1589529457410, PLoS Genetics, 10.1371/journal.pgen.0030110
1589529457410, PLoS Genetics, 10.1371/journal.pgen.1000047

但是,我的导出文件看起来像这样:

{"date":{"s":"1589529457410"},"journal":{"s":"PLoS Genetics"},"id":{"s":"10.1371/journal.pgen.0030110"}}
{"date":{"s":"1589833552714"},"journal":{"s":"PLoS Genetics"},"id":{"s":"10.1371/journal.pgen.1000047"}}

如何在S3中指定导出文件的格式,以便可以使用QuickSight,Athena和Forecast等服务?我最好也使用Data Pipeline进行数据转换。

amazon-web-services amazon-s3 amazon-dynamodb amazon-data-pipeline
1个回答
2
投票

雅典娜可以读取JSON data

您还可以使用DynamoDB streams将数据流式传输到S3。这是博客文章的链接,其中包含最佳实践和设计模式,用于将数据从DynamoDB流到S3 to be used with Athena

您可以使用DynamoDB streams to triggerAWS Lambda函数,该函数可以将transform the data并将其存储在Amazon S3Amazon Redshift等中。使用AWS Lambda,您还可以触发Amazon Forecast重新训练或传递数据到Amazon Forecast进行预测。

或者,您可以使用Amazon Data Pipeline将数据写入当前拥有的S3存储桶中。然后,使用计划运行Lambda函数的cloud watch event或运行Lambda函数的S3 event notification。 lambda函数可以转换文件并将其存储在另一个S3存储桶中以进行进一步处理。

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