Wie zu Lesen Parkett-Daten aus dem S3 zu wecken dataframe Python?

Ich bin neu zu entfachen, und ich bin nicht in der Lage diese zu finden... ich habe eine Menge von Parkett-Dateien hochgeladen in s3 im Ort :

s3://a-dps/d-l/sco/alpha/20160930/parquet/

Die Gesamtgröße dieses Ordners ist 20+ Gb,. Wie aufteilen, und Lesen Sie diese in einen dataframe
Laden Sie alle diese Dateien in ein dataframe?

Zugewiesenen Arbeitsspeicher auf spark-cluster ist 6 gb.

    from pyspark import SparkContext
    from pyspark.sql import SQLContext
    from pyspark import SparkConf
    from pyspark.sql import SparkSession
    import pandas
    # SparkConf().set("spark.jars.packages","org.apache.hadoop:hadoop-aws:3.0.0-alpha3")
    sc = SparkContext.getOrCreate()

    sc._jsc.hadoopConfiguration().set("fs.s3.awsAccessKeyId", 'A')
    sc._jsc.hadoopConfiguration().set("fs.s3.awsSecretAccessKey", 's')

    sqlContext = SQLContext(sc)
    df2 = sqlContext.read.parquet("s3://sm/data/scor/alpha/2016/parquet/*")

Fehler :

 
Py4JJavaError: Fehler beim aufrufen o33.Parkett. 
: java.io.IOException: Nein Dateisystem für das Schema: s3 
bei org.apache.hadoop.fs.Dateisystem.getFileSystemClass(FileSystem.java:2660) 
bei org.apache.hadoop.fs.Dateisystem.createFileSystem(FileSystem.java:2667) 
bei org.apache.hadoop.fs.Dateisystem.access$200(FileSystem.java:94) 
bei org.apache.hadoop.fs.Dateisystem$Cache.getInternal(FileSystem.java:2703) 
bei org.apache.hadoop.fs.Dateisystem$Cache.bekommen(das Dateisystem.java:2685) 
bei org.apache.hadoop.fs.Dateisystem.bekommen(das Dateisystem.java:373) 
bei org.apache.hadoop.fs.Pfad.getFileSystem(Path.java:295) 
bei org.apache.spark.sql.Ausführung.datasources.DataSource$$anonfun$14.gelten(DataSource.scala:372) 
bei org.apache.spark.sql.Ausführung.datasources.DataSource$$anonfun$14.gelten(DataSource.scala:370) 
in der scala.Sammlung.TraversableLike$$anonfun$flatMap$1.gelten(TraversableLike.scala:241) 
in der scala.Sammlung.TraversableLike$$anonfun$flatMap$1.gelten(TraversableLike.scala:241) 
in der scala.Sammlung.unveränderlich.Liste.foreach(List.scala:381) 
in der scala.Sammlung.TraversableLike$Klasse.flatMap(TraversableLike.scala:241) 
in der scala.Sammlung.unveränderlich.Liste.flatMap(die Liste.scala:344) 

auch benötigt zum hinzufügen von Paketen in den spark-Ordner : org.apache.hadoop:hadoop-aws:3.0.0-alpha3, org.apache.httpcomponents:httpclient:4.3.6, org.apache.httpcomponents:httpcore:4.3.3, com.amazonaws:aws-java-sdk-core:1.10.27, com.amazonaws:aws-java-sdk-s3:1.10.27, com.amazonaws:aws-java-sdk-sts:1.10.27
Vielleicht ist dies die wesentliche, die Ihnen helfen können: gist.github.com/asmaier/5768c7cda3620901440a62248614bbd0

InformationsquelleAutor Viv | 2017-06-19

Schreibe einen Kommentar