Introduction à Spark DataFrame

Une trame de données spark peut être considérée comme une collection de données distribuées qui est organisée en colonnes nommées et est également utilisée pour fournir les opérations telles que le filtrage, le calcul des agrégations, le regroupement et peut également être utilisée avec Spark SQL. Les trames de données peuvent être créées en utilisant des fichiers de données structurés, ainsi que des RDD existants, des bases de données externes et des tables Hive. Elle est essentiellement appelée et connue sous le nom de couche d'abstraction qui est construite au-dessus de RDD et est également suivie par l'API d'ensemble de données qui a été introduite dans les versions ultérieures de Spark (2.0 +). De plus, les jeux de données n'ont pas été introduits dans Pyspark mais uniquement dans Scala avec Spark mais ce n'était pas le cas dans le cas des Dataframes. Les trames de données communément appelées DF sont des formats en colonnes logiques qui rendent le travail avec les RDD plus facile et plus pratique, en utilisant également les mêmes fonctions que les RDD de la même manière. Si vous parlez plus au niveau conceptuel, cela équivaut aux tables relationnelles ainsi qu'à de bonnes fonctionnalités et techniques d'optimisation.

Comment créer un DataFrame?

Une trame de données est généralement créée par l'une des méthodes mentionnées. Il peut être créé en utilisant des tables Hive, des bases de données externes, des fichiers de données structurées ou même dans le cas de RDD existants. Toutes ces façons peuvent créer ces colonnes nommées appelées Dataframes utilisées pour le traitement dans Apache Spark. En utilisant SQLContext, les applications SparkSession peuvent être utilisées pour créer des cadres de données.

Opérations Spark DataFrames

Dans Spark, une trame de données est la distribution et la collecte d'une forme organisée de données dans des colonnes nommées qui équivaut à une base de données relationnelle ou un schéma ou une trame de données dans un langage tel que R ou python mais avec un niveau d'optimisation plus riche à utiliser. Il est utilisé pour fournir un type de domaine spécifique d'un langage qui pourrait être utilisé pour la manipulation de données structurées.

Les opérations ci-dessous sont des opérations de base du traitement structuré des données en utilisant des trames de données.

1. Lecture d'un document de type: JSON: nous utiliserions la commande sqlContext.read.json.

Exemple: Supposons que notre nom de fichier soit student.json, alors notre morceau de code ressemblera à:
val dfs= sqlContext.read.json(“student.json”)

Sortie: Dans ce cas, la sortie sera que les noms de champs seront automatiquement extraits du fichier student.json.

2. Affichage des données: Pour voir les données dans les trames de données Spark, vous devrez utiliser la commande:
dfs.show ()

Exemple: Supposons que notre nom de fichier soit student.json, alors notre morceau de code ressemblera à:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Sortie: Les données des étudiants vous seront présentées sous forme de tableau.

3. Utilisation de la méthode printSchema: Si vous souhaitez voir la structure, c'est-à-dire le schéma du bloc de données, utilisez la commande suivante: dfs.printSchema ()

Exemple: Supposons que notre nom de fichier soit student.json, alors notre morceau de code ressemblera à:

val dfs= sqlContext.read.json(“student.json”)
dfs. printSchema ()

Sortie: La structure ou le schéma vous sera présenté

4. Utilisez la méthode select: Pour utiliser la méthode select, la commande suivante sera utilisée pour extraire les noms et les colonnes de la liste des blocs de données.
dfs.select ("nom_colonne"). show ()

Exemple: Supposons que notre nom de fichier soit student.json, alors notre morceau de code ressemblera à:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Sortie: Les valeurs de la colonne de nom sont visibles.

5. Utilisation du filtre d'âge: La commande suivante peut être utilisée pour rechercher la plage d'élèves dont l'âge est supérieur à 23 ans.
dfs.filter (dfs ("nom-colonne")> valeur) .show ()

Exemple: Supposons que notre nom de fichier soit student.json, alors notre morceau de code ressemblera à:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Sortie: L'âge filtré supérieur à 23 apparaîtra dans les résultats.

6. Utilisation de la méthode groupBy: La méthode suivante pourrait être utilisée pour compter le nombre d'élèves du même âge.
dfs.groupBy ("nom_colonne"). count (). show ()

Exemple: Supposons que notre nom de fichier soit student.json, alors notre morceau de code ressemblera à:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. Utilisation de la fonction SQL sur une SparkSession qui permet à l'application d'exécuter des requêtes de type SQL par programme et renvoie donc le résultat sous la forme d'une trame de données.
spark.sql (requête)

Exemple: Supposons que nous devons enregistrer la trame de données SQL en tant que vue temporaire, puis:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Sortie: Une vue temporaire sera créée par le nom de l'étudiant et un spark.sql sera appliqué par dessus pour le convertir en un bloc de données.

8. Utilisation de la fonction SQL sur une session Spark pour une vue temporaire globale: Cela permet à l'application d'exécuter des requêtes de type SQL par programme et renvoie donc le résultat sous la forme d'un bloc de données.
spark.sql (requête)

Exemple: Supposons que nous devons enregistrer la trame de données SQL en tant que vue temporaire, puis:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Sortie: Une vue temporaire sera créée par le nom de l'étudiant et un spark.sql sera appliqué par dessus pour le convertir en un bloc de données.

Avantages de Spark DataFrame

  1. Le bloc de données est la collection distribuée des données et, par conséquent, les données sont organisées en mode de colonne nommée.
  2. Ils sont plus ou moins similaires au tableau dans le cas des bases de données relationnelles et disposent d'un riche ensemble d'optimisation.
  3. Les trames de données sont utilisées pour renforcer les requêtes écrites en SQL et également l'API de trame de données
  4. Il peut être utilisé pour traiter à la fois des données structurées et non structurées.
  5. L'utilisation de l'optimiseur de catalyseur rend l'optimisation facile et efficace.
  6. Les bibliothèques sont présentes dans de nombreux langages tels que Python, Scala, Java et R.
  7. Ceci est utilisé pour fournir une forte compatibilité avec Hive et est utilisé pour exécuter des requêtes Hive non modifiées sur l'entrepôt de ruches déjà présent.
  8. Il peut très bien évoluer de quelques kbs sur le système personnel à plusieurs pétaoctets sur les grands clusters.
  9. Il est utilisé pour fournir un niveau d'intégration facile avec d'autres technologies et frameworks Big Data.
  10. L'abstraction qu'ils fournissent aux RDD est efficace et accélère le traitement.

Conclusion - Spark DataFrame

Dans cet article, vous avez appris une caractéristique très critique d'Apache Spark, à savoir les trames de données et son utilisation dans les applications en cours d'exécution, ainsi que les opérations et les avantages. J'espère que vous avez aimé notre article. Restez à l'écoute pour plus comme ceux-ci.

Articles recommandés

Cela a été un guide pour Spark DataFrame. Ici, nous discutons comment créer un DataFrame? ses avantages et les différentes opérations de DataFrames avec l'exemple de code approprié. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Spark Streaming
  2. Comment installer Spark
  3. Carrière à Spark
  4. Questions d'entretiens chez Spark
  5. Cadres de données en R
  6. 7 différents types de jointures dans Spark SQL (exemples)
  7. PySpark SQL | Modules et méthodes de PySpark SQL
  8. Composants Spark | Présentation des composants de Spark

Catégorie: