Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 数据管道(DynamoDB到S3)-如何格式化S3文件?_Amazon Web Services_Amazon S3_Amazon Dynamodb_Amazon Data Pipeline - Fatal编程技术网

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

Amazon web services 数据管道(DynamoDB到S3)-如何格式化S3文件?,amazon-web-services,amazon-s3,amazon-dynamodb,amazon-data-pipeline,Amazon Web Services,Amazon S3,Amazon Dynamodb,Amazon Data Pipeline,我有一个数据管道,可以将DynamoDB表导出到S3 bucket,这样我就可以将S3文件用于QuickSight、Athena和Forecast等服务 但是,为了使我的S3文件能够使用这些服务,我需要将文件格式化为csv格式,如下所示: date, journal, id 1589529457410, PLoS Genetics, 10.1371/journal.pgen.0030110 1589529457410, PLoS Genetics, 10.1371/journal.pgen.10

我有一个数据管道,可以将DynamoDB表导出到S3 bucket,这样我就可以将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等服务进行操作?我最好也使用数据管道进行数据转换。

雅典娜可以读取

您还可以使用将数据流传输到S3。这里有一个链接,指向一篇博客文章,其中介绍了将数据从DynamoDB流式传输到web的最佳实践和设计模式

您可以使用DynamoDB函数,该函数可以存储数据,等等。通过AWS Lambda,您还可以触发重新训练,或者将数据传递给Amazon Forecast进行预测


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

因此,我猜不可能使用数据管道进行任何类型的数据转换。如果我理解正确,我需要设置一个Kinesis Firehose流,并使用Lambda函数指定数据转换,然后将该流保存到S3文件。使用DynamoDB streams而不是将DynamoDB表作为一个整体进行数据转换有什么好处?@incnnu您不能使用数据管道进行转换,但可以将文件写入S3,然后让CloudWatch事件触发lambda,或者S3触发lambda读取文件并将其转换为csv,然后将文件放入另一个桶中。我会更新我的答案