Spark读写S3(AWS亚马逊中国区beijing)

来源:互联网 发布:下载伴奏的软件 编辑:程序博客网 时间:2024/05/22 00:31

Spark读写S3(AWS亚马逊中国区)

因为中国区的region相对于其他国家是隔离的,所以在中国使用亚马逊S3需要单另设置endpoint来指定地区。

首先我们需要引入hadoop-2.7.2的lib中的hadoop-aws-2.7.2.jar,以及aws自己提供的sdk包:aws-java-sdk-1.7.4.jar

使用2.7.2的原因是由于hadoop2.7.2才支持s3。

接下来我们在程序中定义hadoopConfiguration配置option

sc.hadoopConfiguration.set("fs.s3a.access.key", "youraccesskey")sc.hadoopConfiguration.set("fs.s3a.secret.key", "yoursecretkey")sc.hadoopConfiguration.set("fs.s3a.endpoint", "s3.cn-north-1.amazonaws.com.cn")val myRdd = sc.textFile("s3a://your_bucket/")        //readval myRDD.saveAsTextFile("s3a://your_bucket/test/")  //writemyRdd.count

至于s3和s3n格式的支持暂时还不清楚endpoint如何定义,所以没有使用。如果不定义endpoint,则程序回向美国地区请求access,会出现Error 403找不到key记录的错误。

如果找到正确的定义格式会更新。

转载请注明出处:http://blog.csdn.net/utopia_1919

0 0
原创粉丝点击