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/")