1
pysparkを使用してs3バケットに接続しようとしています。以下
はコードです:PySpark - s3に接続 - ファイルをrddに読み込み
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()
それは言って例外をスロー:1.6 & Hadoopのスパーク、使用して
"s3n" not recognized
アム:
textFile() takes at most 4 arguments (5 given)
は、以前はそれが何かを投げるために使用されます2.6
私はSOの多くのスレッドをチェックしましたが、私の場合は何も動作していないようです。
これに対処する方法についてのご意見は大変ありがとうございます。
hadoopFileを使用しようとしましたが、「z:org.apache.spark.api.python.PythonRDD.hadoopFileを呼び出しているときにエラーが発生しました。 :java.io.IOException:Scheme:s3nのFileSystemがありません」 –
これはHadoopモジュール化の既知の問題です - > https://issues.apache.org/jira/browse/SPARK-7442これをSparkで動作させるには、適切なファイルと設定を含める必要があります。それ以上に造られた –