首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pySpark连接亚马逊s3时出现问题

使用pySpark连接亚马逊s3时出现问题
EN

Stack Overflow用户
提问于 2016-02-23 09:38:21
回答 1查看 1.3K关注 0票数 2

我使用的是Spark 1.6版本的本地模式。以下是我的代码:

第一次尝试:

代码语言:javascript
复制
airline = sc.textFile("s3n://mortar-example-data/airline-data")
airline.take(2)

第二次尝试:

代码语言:javascript
复制
airline = sc.textFile("s3n://myid:mykey@mortar-example-data/airline-data")
airline.take(2)

上面的代码抛出了下面的错误:

代码语言:javascript
复制
Py4JJavaError: An error occurred while calling o17.partitions.
: java.io.IOException: No FileSystem for scheme: s3n
    at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2584)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)

不确定此处缺少连接到S3的内容。如果有人能指给我看那就太好了

EN

回答 1

Stack Overflow用户

发布于 2016-09-14 03:13:44

@John

以下是我的解决方案

代码语言:javascript
复制
bucket = "your bucket"

# Prod App Key
prefix = "Your path to the file"
filename = "s3n://{}/{}".format(bucket, prefix)
sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", "YourAccessKey")
sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", "YourSecret key") 

rdd = sc.hadoopFile(filename,
                    'org.apache.hadoop.mapred.TextInputFormat',
                    'org.apache.hadoop.io.Text',
                    'org.apache.hadoop.io.LongWritable',
                    )
rdd.count()

上面的代码对我来说很有效...祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35567237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档