amazon-web-services - AWS S3 : distributed concate

我有一个 s3 桶,里面有数千万个相对较小的 json 文件,每个文件不到 10 K。

为了分析它们,我想将它们合并成少量文件,每个文件每行一个 json(或其他分隔符),以及数千个这样的行。

这将使我能够更轻松地(并且高效地)使用各种大数据工具。

现在,我很清楚这不能通过一个命令或函数调用来完成,而是需要一个分布式解决方案,因为涉及的文件数量很大。

问题是是否已经准备好并打包了一些东西,或者我必须提出自己的解决方案。

最佳答案

不知道有什么东西可以开箱即用,但您自己可以很容易地做到这一点。解决方案还很大程度上取决于您需要多快才能完成这项工作。

2条建议: 1) 列出所有文件,拆分列表,下载部分,合并并重新上传。

2) 列出所有文件,然后一次一个地检查它们并读取/下载并将其写入运动 Steam 。配置 kinesis 以通过 kinesis firehose 将文件转储到 s3。

在这两种情况下,棘手的一点是处理故障并确保您不会多次获取数据。

为了完整起见,如果文件更大 (>5MB),您还可以利用 http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html这将允许您直接合并 S3 中的文件而无需下载。

关于amazon-web-services - AWS S3 : distributed concatenation of tens of millions of json files in s3 bucket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37191625/

相关文章:

android - 从 Custom Content Provider 访问数据

android-studio - 为什么 Android Studio 缩进两个标签?

Javafx pickOnBounds 设置因 SplitPane 而失败 - 无法通过透明的 Sp

azure - 为什么我无法删除空的应用服务计划?

android - 交错 GridView 中的可点击 TextView

java - 重置运行时权限

r - 如何在 Jupyter 中启用 R 语法高亮显示?

pycharm - 如何在不执行 "Nosetests"的情况下在 Pycharm 中实际调试或运行

algorithm - 跳跃点搜索 : mix between Normal and Orthogo

android - 相同的 ImageButtons 消耗大量内存