在 S3 中合并文件
Merge Files in S3
我的用例是将 S3 中的所有 CSV 文件合并到一个 CSV 文件中,
我探索了 MultipartUpload 但它的文件 >5MB
我用例的文件大小不超过 50B,CSV 文件的数量在 10^7 范围内
最好的解决方案是什么
一种可能的方法是使用 Amazon Athena。它可以查询给定路径内的多个文件并可以输出结果。所以,它实际上只是对数据执行 SELECT *
并为您提供结果,而不是“合并”。
步骤为:
- 在 Athena 中,使用
CREATE TABLE
识别输入数据的格式和位置
- 为 Athena 配置输出位置
- 运行
SELECT * FROM table
,这将查询所有的 CSV 文件并将输出存储在指定位置
- 然后您可以将输出文件复制到您想要存储 'merged' 数据的位置
参见:Working with Query Results, Output Files, and Query History - Amazon Athena
我的用例是将 S3 中的所有 CSV 文件合并到一个 CSV 文件中, 我探索了 MultipartUpload 但它的文件 >5MB
我用例的文件大小不超过 50B,CSV 文件的数量在 10^7 范围内
最好的解决方案是什么
一种可能的方法是使用 Amazon Athena。它可以查询给定路径内的多个文件并可以输出结果。所以,它实际上只是对数据执行 SELECT *
并为您提供结果,而不是“合并”。
步骤为:
- 在 Athena 中,使用
CREATE TABLE
识别输入数据的格式和位置 - 为 Athena 配置输出位置
- 运行
SELECT * FROM table
,这将查询所有的 CSV 文件并将输出存储在指定位置 - 然后您可以将输出文件复制到您想要存储 'merged' 数据的位置
参见:Working with Query Results, Output Files, and Query History - Amazon Athena