Tout d'abord, nous verrons comment partitionner le DataFrame dans Pyspark.
Cloison
Il est possible de partitionner les lignes dans le dataframe à l'aide de la fonction de fenêtre. Il est disponible dans le pyspark.SQL.fenêtre module. Il y a deux étapes pour partitionner les lignes dans un pyspark dataframe.
Pas:
Syntaxe:
partition = fenêtre.partitionby («colonne»)Nous pouvons commander les données partitionnées avec la colonne partitionnée ou toute autre colonne.
Créons le dataframe.
Exemple:
Ici, nous créons un pyspark dataframe qui a 5 colonnes - [«sujet_id», «nom», «âge», «technologie1», «technologie2»] avec 10 lignes.
Importer PysparkSortir:
Fonction de fenêtre Pyspark Variance ()
La variance () dans la fonction de fenêtre est utilisée pour renvoyer la variance dans chaque partition. Il peut être possible de retourner la variance après le partitionnement du dataframe.
Syntaxe:
dataframe_obj.withColumn ("variance", variance (col ("colonne")).sur (partition))Paramètre:
variance (col ("colonne"))Ici, la fonction variance () prend le nom de la colonne comme paramètre. Il renvoie la variance dans cette colonne dans chaque partition.
Nous ajoutons le résultat dans une colonne nommée variance à l'aide de la fonction WithColumn ().
Exemple 1:
Maintenant, nous avons un dataframe (créé précédemment). Letons-le en fonction de la colonne Technology1 et obtenons la variance dans la colonne Subject_id dans chaque partition.
# Importer la fonction de fenêtreSortir:
Explication:
Le nombre total de partitions est 4.
Partition 1:
Le .Le filet s'est produit deux fois dans la première partition. La variance de la colonne Subject_id est 0.0.
Partition 2:
Hadoop s'est produit une fois dans la deuxième partition. Donc, la variance est nul.
Partition 3:
Oracle s'est produit quatre fois dans la troisième partition.
La variance de la colonne Subject_ID est 401.0.
Partition 4:
PHP s'est produit trois fois dans la quatrième partition.
La variance de la colonne Subject_id est 0.0.
Exemple 2:
Maintenant, nous avons un dataframe (créé précédemment). Levons-le en fonction de la colonne Technology1 et obtenons la variance de la colonne d'âge dans chaque partition.
# Importer la fonction de fenêtreSortir:
Explication:
Le nombre total de partitions est 4.
Partition 1:
Le .Le filet s'est produit deux fois dans la première partition. La variance de la colonne d'âge est 0.0.
Partition 2:
Hadoop s'est produit une fois dans la deuxième partition. Donc, la variance est nul.
Partition 3:
Oracle s'est produit quatre fois dans la troisième partition.
La variance de la colonne d'âge est 0.666.
Partition 4:
PHP s'est produit trois fois dans la quatrième partition.
La variance de la colonne d'âge est 1.333.
Fonction de fenêtre pyspark stddev ()
La fonction stddev () dans la fenêtre est utilisée pour renvoyer l'écart type dans chaque partition. Il peut être possible de retourner l'écart-type après partitionner le dataframe.
Syntaxe:
dataframe_obj.withColumn ("écart-type", stddev (col ("colonne")).sur (partition))Paramètre:
stddev (col ("colonne"))Ici, le stddev () prend le nom de la colonne comme paramètre. Il renvoie l'écart type dans cette colonne dans chaque partition.
Nous ajoutons le résultat dans une colonne nommée écart-type à l'aide de la fonction withColumn ().
Exemple 1:
Maintenant, nous avons un dataframe (créé précédemment). Letons-le en fonction de la colonne Technology1 et obtenons l'écart-type dans la colonne Subject_id dans chaque partition.
# Importer la fonction de fenêtreSortir:
Explication:
Le nombre total de partitions est 4.
Partition 1:
Le .Le filet s'est produit deux fois dans la première partition. L'écart type de la colonne Subject_id est 0.0.
Partition 2:
Hadoop s'est produit une fois dans la deuxième partition. Donc, l'écart type est nul.
Partition 3:
Oracle s'est produit quatre fois dans la troisième partition.
L'écart type de la colonne Subject_id est de 20.024984.
Partition 4:
PHP s'est produit trois fois dans la quatrième partition.
L'écart type de la colonne Subject_id est 0.0.
Exemple 2:
Maintenant, nous avons un dataframe (créé précédemment). Letons-le en fonction de la colonne Technology1 et obtenons l'écart-type dans la colonne d'âge dans chaque partition.
# Importer la fonction de fenêtreSortir:
Explication:
Le nombre total de partitions est 4.
Partition 1:
Le .Le filet s'est produit deux fois dans la première partition. L'écart type de la colonne d'âge est 0.0.
Partition 2:
Hadoop s'est produit une fois dans la deuxième partition. Donc, l'écart type est nul.
Partition 3:
Oracle s'est produit quatre fois dans la troisième partition.
L'écart type de la colonne d'âge est 0.8164.
Partition 4:
PHP s'est produit trois fois dans la quatrième partition.
L'écart type de la colonne d'âge est 1.1547.
Conclusion
Dans ce didacticiel de partitionnement Pyspark, nous avons appris à renvoyer la variance dans chaque fenêtre partitionnée en utilisant la fonction de variance () et l'écart type dans chaque fenêtre partitionnée à l'aide de la fonction stddev (). Nous avons ajouté le résultat au DataFrame existant en tant que nouvelle colonne. Assurez-vous d'importer la variance et le stddev à partir du pyspark.SQL.module de fonctions.