Big Data Fundamentals met PySpark
Upendra Devisetty
Science Analyst, CyVerse
PySpark SQL is een Spark-bibliotheek voor gestructureerde data. Het geeft meer info over de datastructuur en berekening
Een PySpark DataFrame is een onveranderlijke, gedistribueerde dataset met benoemde kolommen
Ontworpen voor gestructureerde (bijv. relationele db) en semi-gestructureerde data (bijv. JSON)
DataFrame-API is beschikbaar in Python, R, Scala en Java
PySpark DataFrames ondersteunen zowel SQL-queries (SELECT * from table) als expressiemethoden (df.select())
SparkContext is het hoofdingangspunt om RDD's te maken
SparkSession biedt één ingangspunt om met Spark DataFrames te werken
SparkSession wordt gebruikt om DataFrames te maken, te registreren en SQL-queries uit te voeren
In de PySpark-shell is SparkSession beschikbaar als spark
Twee manieren om DataFrames in PySpark te maken
Van bestaande RDD's met SparkSession's createDataFrame()
Uit bronnen (CSV, JSON, TXT) met SparkSession's read
Schema stuurt de data en helpt queries optimaliseren
Schema geeft kolomnaam, datatype, lege waarden, enz.
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")
Pad naar het bestand en twee optionele parameters
Twee optionele parameters
header=True, inferSchema=TrueBig Data Fundamentals met PySpark