我有数百个大型lzo压缩文件位于我想要复制到Hadoop DFS的服务器上。对于未压缩的文件,我使用的常用命令是
cat someFile | ssh uname@hadoop "hadoop dfs -put - /data/someFile"
我假设这对压缩文件不起作用(因为cat
可能没有意义)。我是否首先需要将文件复制到名称节点和放置:
scp someFile.lzo uname@hadoop:~/ #on remote server
hadoop dfs -put someFile.lzo /data/ #on Hadoop server
rm ~/someFile.lzo
似乎应该有更好的方法来做到这一点。
答案 0 :(得分:0)
如果您的客户端计算机(具有大文件的服务器)可以使用hadoop客户端库安装,则无论如何都不需要捕获文件。
可以使用的命令:
hadoop dfs -cp localfilename hdfsipaddress:hdfsport(通常 9000):hdfs路径