使用distcp或s​​3distcp将文件从S3复制到HDFS

sca*_*ser 2 java hadoop amazon-s3 amazon-web-services

我正在尝试使用以下命令将文件从S3复制到HDFS:

hadoop distcp s3n://bucketname/filename hdfs://namenodeip/directory
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,得到如下错误:

ERROR tools.DistCp: Exception encountered 
java.lang.IllegalArgumentException: Invalid hostname in URI
Run Code Online (Sandbox Code Playgroud)

我试图在hadoop conf.xml中添加S3密钥,但它也无法正常工作.请帮我逐步完成从S3到HDFS的文件复制步骤.

提前致谢.

sca*_*ser 7

命令应该是这样的:

Hadoop distcp s3n://bucketname/directoryname/test.csv /user/myuser/mydirectory/
Run Code Online (Sandbox Code Playgroud)

这会将test.csv文件从S3复制到指定HDFS路径中名为/ mydirectory的HDFS目录.在这个S3文件系统中正在以纯模式使用.更多细节可以在http://wiki.apache.org/hadoop/AmazonS3找到