将csv文件合并到一个文件中

时间:2017-02-24 08:24:25

标签: hadoop hdfs

我有一组csv文件,我想将它们合并到一个csv文件中。 ,它需要一些时间,但我没有在目标路径中找到该文件

hdfs dfs -getmerge /DATA /data1/result.csv

任何帮助 感谢

2 个答案:

答案 0 :(得分:1)

  

getmerge

用法: hadoop fs -getmerge [-nl] <src> <localdst>

将源目录和目标文件作为输入,并将src中的文件连接到目标本地文件。可选择-nl可以设置为在每个文件的末尾添加换行符(LF)。 --skip-empty-file可用于在空文件的情况下避免不需要的换行符。

<强>示例:

 hadoop fs -getmerge -nl /src /opt/output.txt

 hadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt

退出代码:

成功时返回0,错误时返回非零。

如果某些方法对你不起作用

您可以尝试这样的cat命令:(如果您的数据不够大)

 hadoop dfs -cat /DATA/* > /<local_fs_dir>/result.csv

 hadoop dfs -copyFromLocal /<local_fs_dir>/result.csv /data1/result.csv

答案 1 :(得分:0)

您也可以尝试使用

连接本地linux fs中的文件
cat $DOWNLOAD_DIR/*.csv >> $CONCAT_DIR/<concatenated_filename>.csv

然后将连接文件放在hdfs上。