2017-01-25 6 views
0

Ich bekomme unter Fehler beim Lesen von Daten aus Rotverschiebung Tabelle mit Funken.Spark Redshift: Fehler beim Lesen von Rotverschiebung Tabellen mit Funken

Unten finden Sie den Code ein:

Dataset<Row> dfread = sql.read() 
      .format("com.databricks.spark.redshift") 
      .option("url", url) 
      //.option("query","select * from TESTSPARK") 
      .option("dbtable", "TESTSPARK") 
      .option("forward_spark_s3_credentials", true) 
      .option("tempdir","s3n://test/Redshift/temp/") 
      .option("sse", true) 
      .option("region", "us-east-1") 
      .load(); 

Fehler: Exception in thread "main" java.sql.SQLException: Amazon Ungültige Operation: Kann Manifest-Datei hochladen - S3ServiceException: Zugriff verweigert, Stand 403, Fehler AccessDenied, Rid =, CanRetry 1 Details:

Fehler: nicht kann Manifest-Datei hochladen - S3ServiceException: Zugriff verweigert, Stand 403, Fehler AccessDenied, Rid 6FC2B3FD56DA0EAC, ExtRid I, CanRetry 1 Code: 9012 Kontext: s3: // jd-us01-cis-machine-tel matik-devl-Daten verarbeiteten/Redshift/temp/f06bc4b2-494d-49b0-a100-2246818e22cf/manifest Abfrage: 44179

Kann jemand bitte helfen

Antwort

0

Sie bekommen einen Berechtigungsfehler von S3, wenn Redshift versucht, auf die Dateien zuzugreifen, die Sie laden möchten.

Haben Sie die Zugriffstasten für S3-Zugriff konfiguriert, bevor Sie die load() aufrufen?

sc.hadoopConfiguration.set("fs.s3.awsAccessKeyId", "ASDFGHJKLQWERTYUIOP") 
sc.hadoopConfiguration.set("fs.s3.awsSecretAccessKey", "QaZWSxEDC/rfgyuTGBYHY&UKEFGBTHNMYJ") 

sollten Sie in der Lage sein zu überprüfen, welcher Zugriff auf Schlüssel-ID von der Redshift Seite verwendet wurde, durch die stl_query Tabelle abzufragen.

Verwandte Themen