Grundlagen von Big Data mit PySpark
Upendra Devisetty
Science Analyst, CyVerse
PySpark SQL ist eine Spark-Bibliothek für strukturierte Daten. Sie liefert mehr Infos zur Daten- und Rechenstruktur
Ein PySpark DataFrame ist eine unveränderliche, verteilte Datensammlung mit benannten Spalten
Für strukturierte (z. B. relationale DB) und semi-strukturierte Daten (z. B. JSON) entwickelt
DataFrame-API gibt es in Python, R, Scala und Java
PySpark DataFrames unterstützen SQL-Abfragen (SELECT * from table) und Methoden (df.select())
SparkContext ist der Haupteinstiegspunkt zum Erstellen von RDDs
SparkSession ist der zentrale Einstieg, um mit Spark DataFrames zu arbeiten
SparkSession erstellt DataFrames, registriert sie und führt SQL-Abfragen aus
In der PySpark-Shell ist SparkSession als spark verfügbar
Zwei Wege, DataFrames in PySpark zu erstellen
Aus vorhandenen RDDs mit SparkSessions createDataFrame()
Aus Datenquellen (CSV, JSON, TXT) mit SparkSessions read
Das Schema steuert die Daten und hilft beim Optimieren von Abfragen
Es enthält Spaltennamen, Datentypen, leere Werte usw.
iphones_RDD = sc.parallelize([
("XS", 2018, 5.65, 2.79, 6.24),
("XR", 2018, 5.94, 2.98, 6.84),
("X10", 2017, 5.65, 2.79, 6.13),
("8Plus", 2017, 6.23, 3.07, 7.12)
])
names = ['Model', 'Year', 'Height', 'Width', 'Weight']
iphones_df = spark.createDataFrame(iphones_RDD, schema=names)type(iphones_df)
pyspark.sql.dataframe.DataFrame
df_csv = spark.read.csv("people.csv", header=True, inferSchema=True)
df_json = spark.read.json("people.json")
df_txt = spark.read.txt("people.txt")
Pfad zur Datei und zwei optionale Parameter
Zwei optionale Parameter
header=True, inferSchema=TrueGrundlagen von Big Data mit PySpark