是否可以存储输出hadoop dfs -getmerge
命令到另一台机器?
原因是我的本地机器没有足够的空间。作业输出为 100GB,我的本地存储为 60GB。
另一个可能的原因可能是我想在另一台机器上本地处理另一个程序中的输出,并且我不想将其传输两次(HDFS->本地FS->远程机器)。我只想要(HDFS -> 远程机器)。
我正在寻找类似的东西scp
有效,例如:
hadoop dfs -getmerge /user/hduser/Job-output user@someIP:/home/user/
或者,我还想将 HDFS 数据从远程主机获取到本地计算机。
这种情况可以使用unix管道吗?
对于那些不熟悉hadoop的人,我只是在寻找一种替换本地dir参数的方法(/user/hduser/Job-output
)在此命令中使用远程计算机上的目录。
这将完全满足您的需要:
hadoop fs -cat /user/hduser/Job-output/* | ssh [email protected] "cat >mergedOutput.txt"
fs -cat 将按顺序读取所有文件并将其输出到 stdout。
ssh 会将它们传递到远程计算机上的文件(请注意,scp 不会接受 stdin 作为输入)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)