在使用hadoop是,我们有时候需要将本地文件系统上的多个文件合并为hadoop文件系统上的一个文件,但是 hadoop文件系统本身的shell命令并不支持这样的功能,但是hadoop的put命令支持从标准输入读取数据,所以实现标题功能的hadoop命令如下:
[html] view plain copy
cat localfile1 localfile2 | bin/hadoop fs -put /dev/fd/0 destfile
hdfs dfs -cat /folderpath/folder* | hdfs dfs -copyFromLocal - /newfolderpath/file1
1
这样可以把文件hdfs上 /folderpath目录下的/folder开头的文件,还不合并到/newfolderpath目录下的file一个文件中 注意/folder*必须是文件,而不能是文件夹,如果是文件夹,可以/folder*/*
cat test.txt | ssh test@masternode "hadoop dfs -put - hadoopFoldername/"
1
1
可以这样把本机的文件put到HDFS上面,而不用先复制文件到集群机器上
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)