hadoop - 在 hadoop 中合并小文件 - 有哪些不同的方法?

标签 hadoop apache-spark hive apache-pig

我有一个用例,我们有 800000 个 json 文件,每个文件大小为 2KB。我们的要求是将这些较小的文件合并成一个大文件。我们已经尝试使用重新分区和合并在 Spark 中实现这一点。然而,我们发现这种方法效率不高,因为这比预期消耗了更多时间。有没有其他方法可以以高效的方式实现同​​样的目标?

感谢您的帮助。提前致谢。

最佳答案

Hadoop 不是适合您的情况的工具。我建议只编写一个小的 java 或 scala 程序,一个一个地读取这些文件并输出到单个文件。任何与 hadoop 相关的工具都会在性能方面给您带来巨大的开销(例如 pig 的初始化大约需要 30 秒),而独立应用程序将在 1-2 分钟甚至更短的时间内处理这些 800k 文件。

关于hadoop - 在 hadoop 中合并小文件 - 有哪些不同的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49036132/

相关文章:

hadoop - 有人可以向我解释 orcfiledump 的输出吗?

hadoop - Hbase 与 Hive 的比较

r - 在 sparklyr 中断开连接后,spark 数据帧是否会自动删除?如果没有,我们该怎么做?

mongodb - 使用 MongoDB 的 Hive 表映射

hadoop - 关于使用hadoop执行多个独立 Action

apache-spark - 无法在 Kubernetes Spark 2.4.0 上启动 SparkPi 示例

scala - Spark 分区 Hive 表

java - “hadoop dfs -cat output”不返回任何内容

dataframe - pySpark - 在滚动窗口中获取最大值行

python - 在 Spark 中将简单的单行字符串转换为 RDD