【发布时间】:2018-02-18 12:41:21
【问题描述】:
我想知道如何将数据从 EMR 集群的 HDFS 文件系统移动到 S3 存储桶。我承认我可以在 Spark 中直接写入 S3,但原则上以后也应该很简单,到目前为止我还没有发现在实践中是正确的。
AWS 文档建议使用 s3-dist-cp 在 HDFS 和 S3 之间移动数据。 documentation 的 s3-dist-cp 声明 HDFS 源应以 URL 格式指定,即 hdfs://path/to/file。到目前为止,我已经使用 hadoop fs -get 在 HDFS 和我的本地文件系统之间移动数据,它采用 path/to/file 而不是 hdfs://path/to/file 的语法。目前尚不清楚如何在两者之间进行映射。
我正在从 SSH 进入主节点。我尝试了以下,每个都有两个和三个斜杠:
hdfs:///[public IP]/path/to/filehdfs:///[public IP]:8020/path/to/filehdfs:///localhost/path/to/filehdfs:///path/to/file-
/path/to/file(以及许多变体)
在每种情况下,我的命令都按照文档进行格式化:
s3-dist-cp --src hdfs://... --dest s3://my-bucket/destination
我尝试过使用单个文件和整个目录。在每种情况下,我都会收到源文件不存在的错误。我做错了什么?
【问题讨论】:
标签: hadoop amazon-s3 emr amazon-emr