我有一个数据管道,它将我的DynamoDB表导出到S3存储桶中,这样我就可以将S3文件用于QuickSight、雅典娜和预测等服务。
但是,为了让我的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、雅典娜和预测等服务?我最好也使用data Pipeline进行数据转换。
发布于 2020-05-25 18:08:46
雅典娜可以读JSON data。
您还可以使用DynamoDB streams将数据流式传输到S3。这里有一篇博客文章的链接,其中介绍了将数据从DynamoDB流式传输到S3 to be used with Athena的最佳实践和设计模式。
您可以使用DynamoDB streams to trigger AWS Lambda函数,该函数可以transform the data并将其存储在Amazon S3、Amazon Redshift等中。使用AWS Lambda,您还可以触发Amazon Forecast进行重新训练,或将数据传递给亚马逊预测进行预测。
或者,您可以使用Amazon Data Pipeline将数据写入到当前拥有的S3存储桶中。然后使用预定运行lambda函数的cloud watch event,或运行lambda函数的S3 event notification。lambda函数可以转换文件并将其存储在另一个S3存储桶中以供进一步处理。
https://stackoverflow.com/questions/62000117
复制相似问题