Principes de Big Data avec PySpark
Upendra Devisetty
Science Analyst, CyVerse
PySpark SQL est une bibliothèque Spark pour les données structurées. Elle décrit mieux la structure des données et des calculs
Un DataFrame PySpark est une collection distribuée immuable de données avec des colonnes nommées
Conçu pour traiter des données structurées (p. ex. base de données relationnelle) et semi-structurées (p. ex. JSON)
L'API DataFrame est offerte en Python, R, Scala et Java
Les DataFrames PySpark prennent en charge les requêtes SQL (SELECT * from table) et les méthodes d'expression (df.select())
SparkContext est le point d'entrée principal pour créer des RDD
SparkSession offre un point d'entrée unique pour interagir avec les DataFrames Spark
SparkSession sert à créer des DataFrames, à les enregistrer et à exécuter des requêtes SQL
Dans l'interpréteur PySpark, SparkSession est disponible sous spark
Deux façons de créer des DataFrames dans PySpark
À partir de RDD existants avec la méthode createDataFrame() de SparkSession
À partir de sources de données (CSV, JSON, TXT) avec la méthode read de SparkSession
Le schéma régit les données et aide les DataFrames à optimiser les requêtes
Le schéma indique le nom des colonnes, le type de données, les valeurs vides, etc.
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")
Chemin du fichier et deux paramètres optionnels
Deux paramètres optionnels
header=True, inferSchema=TruePrincipes de Big Data avec PySpark