Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySpark-连接到s3-将文件读取到rdd_Python_Apache Spark_Amazon S3_Pyspark - Fatal编程技术网

Python PySpark-连接到s3-将文件读取到rdd

Python PySpark-连接到s3-将文件读取到rdd,python,apache-spark,amazon-s3,pyspark,Python,Apache Spark,Amazon S3,Pyspark,我正在尝试使用pyspark连接到我的s3存储桶。 代码如下: from boto.s3.connection import S3Connection AWS_KEY = '...' AWS_SECRET = '...' aws_connection = S3Connection(AWS_KEY, AWS_SECRET) bucket = aws_connection.get_bucket('activitylogs-prod') sc._jsc.hadoopConfiguration()

我正在尝试使用pyspark连接到我的s3存储桶。
代码如下:

from boto.s3.connection import S3Connection

AWS_KEY = '...'
AWS_SECRET = '...'

aws_connection = S3Connection(AWS_KEY, AWS_SECRET)
bucket = aws_connection.get_bucket('activitylogs-prod')

sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", AWS_KEY)
sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", AWS_SECRET)

print len(list(bucket.list()))
for key in bucket.list():
    file_name = 's3n://myBucket/'+key.name
    print file_name
    rdd = sc.textFile(file_name 
        ,'org.apache.hadoop.mapred.TextInputFormat',
        'org.apache.hadoop.io.Text',
        'org.apache.hadoop.io.LongWritable'
        )
    print rdd.count()
它抛出一个异常,表示:

textFile() takes at most 4 arguments (5 given)  
以前它会抛出类似的东西:

 "s3n" not recognized
我正在使用Spark 1.6和Hadoop 2.6

我已经检查了很多线程,但在我的情况下似乎没有任何工作


任何关于如何处理这一问题的建议都将不胜感激

textFile
只接受一个路径和
minPartitions
(可选),我想你要找的是
hadoopFile
…它接受不同的格式类。

我试过使用hadoopFile,但它抛出“调用z:org.apache.spark.api.python.PythonRDD.hadoopFile时出错:java.io.IOException:scheme:s3n没有文件系统“这是Hadoop模块化的一个已知问题->您需要包含适当的文件和设置,以使其在Spark中工作……它不再是内置的