ron*_*nre 3 hadoop elastic-map-reduce
我编写了一个Hadoop程序,它需要HDFS中的某个布局,之后,我需要从HDFS中获取文件.它适用于我的单节点Hadoop设置,我很想让它在Elastic MapReduce中的10个节点上工作.
我一直在做的是这样的:
./elastic-mapreduce --create --alive
JOBID="j-XXX" # output from creation
./elastic-mapreduce -j $JOBID --ssh "hadoop fs -cp s3://bucket-id/XXX /XXX"
./elastic-mapreduce -j $JOBID --jar s3://bucket-id/jars/hdeploy.jar --main-class com.ranjan.HadoopMain --arg /XXX
Run Code Online (Sandbox Code Playgroud)
这是异步的,但是当作业完成后,我可以这样做
./elastic-mapreduce -j $JOBID --ssh "hadoop fs -cp /XXX s3://bucket-id/XXX-output"
./elastic-mapreduce -j $JOBID --terminate
Run Code Online (Sandbox Code Playgroud)
所以虽然这种方式有效,但它很笨重,而不是我想要的.有更清洁的方法吗?
谢谢!
您可以使用distcp哪个将文件复制为mapreduce作业
# download from s3 $ hadoop distcp s3://bucket/path/on/s3/ /target/path/on/hdfs/ # upload to s3 $ hadoop distcp /source/path/on/hdfs/ s3://bucket/path/on/s3/
这使得整个群集可以从s3并行复制.
(注意:每个路径上的尾部斜杠对于从目录复制到目录很重要)
| 归档时间: |
|
| 查看次数: |
2272 次 |
| 最近记录: |