3

我想以编程方式将作业输出从 EMR 集群复制到 Amazon S3。

如何S3DistCp在 java 代码中使用来做同样的事情。

4

1 回答 1

4

hadoopToolRunner可以运行这个..因为S3DistCP extends Tool

下面是使用示例:

导入 org.apache.commons.logging.Log;
导入 org.apache.commons.logging.LogFactory;
导入 org.apache.hadoop.util.ToolRunner;
导入 com.amazon.external.elasticmapreduce.s3distcp.S3DistCp

公共类 CustomS3DistCP{
  私有静态最终日志日志 = LogFactory.getLog(CustomS3DistCP.class);

公共静态 void main(String[] args) 抛出异常 {
     log.info("使用 args 运行:" + args);

     System.exit(ToolRunner.run(new S3DistCp(), args));
   }

你的类路径中必须有 s3distcp jar 你可以从 shell 脚本调用这个程序。

希望有帮助!

于 2017-08-30T13:43:11.100 回答