是否可以将hadoop dfs -getmerge
命令的输出存储到另一台机器?
原因是本地计算机中没有足够的空间。作业输出为100GB,我的本地存储为60GB。
另一个可能的原因可能是我想在另一台计算机上的本地本地程序中处理输出,并且不想将其传输两次(HDFS->本地FS->远程计算机)。我只想要(HDFS->远程计算机)。
我正在寻找与scp
工作方式类似的东西,例如:
hadoop dfs -getmerge /user/hduser/Job-output user@someIP:/home/user/
另外,我也想将HDFS数据从远程主机获取到本地计算机。
在这种情况下可以使用unix管道吗?
对于那些不熟悉hadoop的人,我只是在寻找一种/user/hduser/Job-output
用远程计算机上的目录替换此命令中的本地dir参数()的方法。
这将完全满足您的需求:
hadoop fs -cat /user/hduser/Job-output/* | ssh [email protected] "cat >mergedOutput.txt"
fs -cat将按顺序读取所有文件,并将它们输出到stdout。
ssh会将它们传递到远程计算机上的文件中(请注意,scp将不接受stdin作为输入)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句