如何在hadoop中合并csv文件?

vojdkbi0  于 2021-06-01  发布在  Hadoop
关注(0)|答案(2)|浏览(669)

我是hadoop框架的新手,我想把4个csv文件合并成一个文件。
所有的4个csv文件都有相同的头和顺序也是相同的。

yjghlzjz

yjghlzjz1#

尝试使用getmerge工具来合并csv文件,例如,您有几个emp\u文件1.csv emp\u文件2.csv emp\u文件3.csv放在hdfs上的某个位置。您可以合并所有这些文件,并可以将合并文件放置在某个新位置。
hadoop fs-getmerge/hdfsfilelocation/emp\u file*/newhdfsfilelocation/merged\u emp\u file.csv

qvk1mo1f

qvk1mo1f2#

我不认为Pig STORE 提供这样的功能。
你可以用spark的 coalesce(1) 但是,没有什么理由这么做,因为几乎所有hadoop处理工具都喜欢读取目录,而不是文件。
无论如何,您最好不要在hadoop中长时间存储原始csv,而是将其转换为orc或parquet作为列数据。尤其是如果您已经开始阅读csv,请不要再输出csv。
如果想法是生成一个csv供以后下载,那么我建议使用hive+beeline
这会将结果存储到本地文件系统中的一个文件中。

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

相关问题