我有一组csv文件,我想将它们合并到一个csv文件中。 ,它需要一些时间,但我没有在目标路径中找到该文件
hdfs dfs -getmerge /DATA /data1/result.csv
任何帮助 感谢
答案 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上。