我试图使用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
我已经检查了很多线程,但在我的情况下似乎没有任何工作。
非常感谢任何有关如何处理此问题的建议。
答案 0 :(得分:1)
#__coupon_member_details123
只接受路径textFile
(可选),我认为你要找的是minPartitions
...它确实采用了不同的格式类。