我有一个用例,我们有 800000 个 json 文件,每个文件大小为 2KB。我们的要求是将这些较小的文件合并成一个大文件。我们已经尝试使用重新分区和合并在 Spark 中实现这一点。然而,我们发现这种方法效率不高,因为这比预期消耗了更多时间。有没有其他方法可以以高效的方式实现同样的目标?
感谢您的帮助。提前致谢。
最佳答案
Hadoop 不是适合您的情况的工具。我建议只编写一个小的 java 或 scala 程序,一个一个地读取这些文件并输出到单个文件。任何与 hadoop 相关的工具都会在性能方面给您带来巨大的开销(例如 pig 的初始化大约需要 30 秒),而独立应用程序将在 1-2 分钟甚至更短的时间内处理这些 800k 文件。
关于hadoop - 在 hadoop 中合并小文件 - 有哪些不同的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49036132/