Grunderna i Big Data med PySpark
Upendra Devisetty
Science Analyst, CyVerse
PySpark SQL är ett Spark-bibliotek för strukturerad data som ger mer information om datastruktur och beräkningar
En PySpark DataFrame är en oföränderlig, distribuerad datamängd med namngivna kolumner
Utformad för att hantera både strukturerad (t.ex. relationsdatabaser) och semi-strukturerad data (t.ex. JSON)
DataFrame API finns tillgängligt i Python, R, Scala och Java
DataFrames i PySpark stöder både SQL-frågor (SELECT * from table) och uttrycksmetoder (df.select())
SparkContext är huvudingångspunkten för att skapa RDD:er
SparkSession ger en enda ingångspunkt för att arbeta med Spark DataFrames
SparkSession används för att skapa DataFrames, registrera DataFrames och köra SQL-frågor
SparkSession är tillgänglig i PySpark-skalet som spark
Det finns två sätt att skapa DataFrames i PySpark
Från befintliga RDD:er med SparkSessions createDataFrame()-metod
Från olika datakällor (CSV, JSON, TXT) med SparkSessions read-metod
Ett schema styr data och hjälper DataFrames att optimera frågor
Schemat innehåller information om kolumnnamn, datatyp, tomma värden osv.
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")
Sökväg till filen och två valfria parametrar
Två valfria parametrar
header=True, inferSchema=TrueGrunderna i Big Data med PySpark