我想将Amazon S3中的文件位置作为参数传递给我的Hadoop jar.That文件包含一个XML文件,我需要在map-reduce中解析我的驱动程序类中的XML文件。怎样才能我通过那个位置?在哪里指定S3凭证?
答案 0 :(得分:0)
您无法使用s3n位置运行MR作业。将您的jar文件上传并输入到S3并按elastic-mapreduce
运行,如下所示:
elastic-mapreduce --jar s3://mybucket/mycode.jar \
--args "-D,mapred.reduce.tasks=0"
--arg s3://mybucket/input \
--arg s3://mybucket/output
答案 1 :(得分:0)
您需要在配置文件(例如mapred-site.xml or core-site.xml
)中设置s3凭据,或者您可以使用-conf使用自定义配置文件传递以下参数。您的hadoop jar
命令看起来像hadoop jar <jar_file_name> <class_name> -conf <custom_conf> <arguments>
<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>AWS-ID</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>AWS-SECRET-KEY</value>
</property>