hadoop getmerge到另一台计算机

q35jwt9p  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(337)

是否可以存储 hadoop dfs -getmerge 命令另一台机器?
原因是我的本地计算机没有足够的空间。作业输出为100gb,本地存储为60gb。
另一个可能的原因可能是我想在本地处理另一个程序的输出,在另一台机器上,我不想传输它两次(hdfs->local fs->remote machine)。我只想要(hdfs->远程机器)。
我正在寻找类似的东西 scp 工作,比如: hadoop dfs -getmerge /user/hduser/Job-output user@someIP:/home/user/ 另外,我还想从远程主机获取hdfs数据到本地机器。
在这种情况下可以使用unix管道吗?
对于那些不熟悉hadoop的人,我只是在寻找替换本地dir参数的方法( /user/hduser/Job-output )在这个命令中有一个远程机器上的目录。

oymdgrw7

oymdgrw71#

这正是您需要的:

hadoop fs -cat /user/hduser/Job-output/* | ssh user@remotehost.com "cat >mergedOutput.txt"

fs-cat将按顺序读取所有文件并将它们输出到stdout。
ssh将把它们传递给远程机器上的一个文件(注意,scp不接受stdin作为输入)

相关问题