Lokales Lesen von S3-Dateien über Spark (oder besser: pyspark)

Ich Lesen möchte eine S3-Datei von meinem (lokalen) Maschine, durch Spark (pyspark, wirklich). Nun, ich halte immer Authentifizierung Fehler wie

java.lang.IllegalArgumentException: AWS Access Key ID und Secret
Access Key angegeben werden müssen, Benutzername oder Passwort
(jeweils) eine s3n-URL, oder durch die Einstellung des fs.s3n.awsAccessKeyId
oder fs.s3n.awsSecretAccessKey Eigenschaften (jeweils).

Ich sah überall hier und im web, viele Dinge versucht, aber anscheinend ist das S3 hat sich verändert über die letzten Jahre oder Monate, und alle Methoden gescheitert, aber:

pyspark.SparkContext().textFile("s3n://user:password@bucket/key")

(Hinweis: die s3n [s3 hat nicht funktioniert]). Nun, ich will nicht, um eine URL verwenden, die mit dem Benutzer und Passwort, da können Sie erscheinen in den Protokollen, und ich bin auch nicht sicher, wie man Sie aus der ~/.aws/credentials Datei sowieso.

So, wie kann ich lokal gelesen von S3 durch Funken (oder, besser, pyspark) mit der AWS-Anmeldeinformationen aus der jetzt standard ~/.aws/credentials - Datei (im Idealfall, ohne Sie zu kopieren Sie die Anmeldeinformationen gibt es noch eine weitere Konfigurationsdatei)?

PS: ich habe versucht os.environ["AWS_ACCESS_KEY_ID"] = … und os.environ["AWS_SECRET_ACCESS_KEY"] = …es hat nicht funktioniert.

PPS: ich bin mir nicht sicher, wo Sie "eingestellt bei der fs.s3n.awsAccessKeyId oder fs.s3n.awsSecretAccessKey Eigenschaften" (Google wollte nicht kommen mit nichts). Jedoch, ich habe versucht, viele Möglichkeiten der Einstellung: SparkContext.setSystemProperty()sc.setLocalProperty()und conf = SparkConf(); conf.set(…); conf.set(…); sc = SparkContext(conf=conf). Nichts funktionierte.

InformationsquelleAutor der Frage Eric Lebigot | 2015-04-04

Schreibe einen Kommentar