首页 > 解决方案 > 如何在 Hadoop 中合并 CSV 文件?

问题描述

我是 Hadoop 框架的新手,我想将 4 个 CSV 文件合并到一个文件中。

所有 4 个 CSV 文件都有相同的标题,顺序也相同。

标签: hadoopapache-pig

解决方案


我不认为 PigSTORE提供这样的功能。

您可以使用 Spark 的coalesce(1)功能,但是几乎没有理由这样做,因为几乎所有 Hadoop 处理工具都喜欢读取目录,而不是文件。

无论如何,理想情况下,您不应该将原始 CSV 存储在 Hadoop 中很长时间,而是将其转换为 ORC 或 Parquet 作为列数据。特别是如果您已经开始阅读 CSV - 不要再次输出 CSV。


如果想法是生成一个 CSV 以供以后下载,那么我建议使用 Hive + Beeline 来做到这一点

这会将结果存储到本地文件系统中的文件中。

beeline -u 'jdbc:hive2://[databaseaddress]' --outputformat=csv2 -f yourSQlFile.sql > theFileWhereToStoreTheData.csv 

推荐阅读