Principes fondamentaux des mégadonnées avec PySpark
Upendra Devisetty
Science Analyst, CyVerse
PySpark SQL est une bibliothèque Spark pour les données structurées. Elle décrit la structure des données et du calcul
Un DataFrame PySpark est une collection distribuée immuable avec des colonnes nommées
Conçu pour traiter des données structurées (ex. base relationnelle) et semi-structurées (ex. JSON)
L’API DataFrame existe en Python, R, Scala et Java
Les DataFrames PySpark acceptent les requêtes SQL (SELECT * from table) et les méthodes d’expressions (df.select())
SparkContext est le point d’entrée principal pour créer des RDD
SparkSession fournit un point d’accès unique pour manipuler les DataFrames Spark
SparkSession sert à créer des DataFrames, les enregistrer et exécuter des requêtes SQL
Dans le shell PySpark, SparkSession est accessible via spark
Deux façons de créer des DataFrames dans PySpark
À partir de RDD existants avec SparkSession.createDataFrame()
À partir de sources (CSV, JSON, TXT) avec SparkSession.read
Le schéma contrôle les données et aide à optimiser les requêtes
Le schéma indique le nom des colonnes, le type, 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 fondamentaux des mégadonnées avec PySpark