Pyspark - Fonction min

Pyspark - Fonction min
Après partitionner les lignes dans le Pyspark DataFrame, il est possible de renvoyer les valeurs minimales et maximales dans chaque partition. En utilisant certaines fonctions agrégées sur une fenêtre de partition, il est possible de renvoyer le minimum / maximum.

Tout d'abord, nous voyons 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 aura deux étapes pour partitionner les lignes dans un pyspark dataframe.

Pas:

  1. Créez un Pyspark DataFrame qui a des valeurs similaires dans au moins une colonne.
  2. Partition Les données à l'aide de la méthode partition () disponible dans la fonction inwindow.

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 Pyspark
de Pyspark.SQL IMPORT SPARKSESSE
de Pyspark.SQL.Fonctions Import *
Spark_App = Sparkcession.constructeur.nom de l'application('_').getorCreate ()
étudiants = [(4, «sravan», 23, «php», «test»),
(4, «sravan», 23, «php», «test»),
(46, «Mounika», 22, '.Net ',' html '),
(4, «Deepika», 21, «Oracle», «html»),
(46, «Mounika», 22, «Oracle», «Testing»),
(12, «Chandrika», 22, «Hadoop», «C #»),
(12, «Chandrika», 22, «Oracle», «Testing»),
(4, «Sravan», 23, «Oracle», «C #»),
(4, «Deepika», 21, «Php», «C #»),
(46, «Mounika», 22, '.Net ',' test ')
]]
dataframe_obj = spark_app.CreatedataFrame (étudiants, [«sujet_id», «nom», «âge», «technologie1», «technologie2»])
Imprimer ("---------- réelle DataFrame ----------")
dataframe_obj.montrer()

Sortir:

Fonction de fenêtre Pyspark min ()

La fonction min () dans la fenêtre est utilisée pour renvoyer la valeur minimale dans chaque partition. Il peut être possible de renvoyer une valeur minimale après le partitionnement du dataframe.

Syntaxe:

dataframe_obj.withColumn ("minimum", min (col ("colonne")).sur (partition))

Paramètre:

min (col ("colonne"))

Ici, la fonction min () prend le nom de la colonne comme paramètre. Il renvoie le minimum de valeurs dans cette colonne dans chaque partition.

Nous ajoutons le résultat dans une colonne nommée Minimum à l'aide de la fonction WithColumn ().

Exemple 1:

Maintenant, nous avons un dataframe (créé précédemment). Levons-le en fonction de la colonne Technology1 et obtenons la valeur minimale de la colonne Subject_ID dans chaque partition.

# Importer la fonction de fenêtre
de Pyspark.SQL.Fenêtre d'importation de fenêtre
#IMPORT LE MIN ET COL DE PYSPARK.SQL.les fonctions
de Pyspark.SQL.fonctions import min, col
#Partition le dataframe en fonction des valeurs de la colonne Technology1
partition = fenêtre.partitionby ("Technology1")
print ("---------- partitionné DataFrame ----------")
#Return la valeur minimale dans la colonne sujette_id pour chaque partition
dataframe_obj.withColumn ("minimum", min (col ("suject_id")).sur (partition)).montrer()

Sortir:

Explication:

Le nombre total de partitions est 4.

Partition 1:

Le .Le filet s'est produit deux fois dans la première partition. La valeur minimale dans la colonne Subject_ID est 46.

Partition 2:

Hadoop s'est produit une fois dans la deuxième partition. Ainsi, la valeur minimale est de 12.

Partition 3:

Oracle s'est produit quatre fois dans la troisième partition.

La valeur minimale dans la colonne Subject_ID est 4.

Partition 4:

PHP s'est produit trois fois dans la quatrième partition.

La valeur minimale dans la colonne Subject_ID est 4.

Exemple 2:

Maintenant, nous avons un dataframe (créé précédemment). Levons-le en fonction de la colonne Technology1 et obtenons la valeur minimale de la colonne d'âge dans chaque partition.

# Importer la fonction de fenêtre
de Pyspark.SQL.Fenêtre d'importation de fenêtre
#IMPORT LE MIN ET COL DE PYSPARK.SQL.les fonctions
de Pyspark.SQL.fonctions import min, col
#Partition le dataframe en fonction des valeurs de la colonne Technology1
partition = fenêtre.partitionby ("Technology1")
print ("---------- partitionné DataFrame ----------")
#return la colonne de valeur minimale de l'âge pour chaque partition
dataframe_obj.WithColumn ("minimum", min (Col ("Age")).sur (partition)).montrer()

Sortir:

Explication:

Le nombre total de partitions est 4.

Partition 1:

Le .Le filet s'est produit deux fois dans la première partition. La valeur minimale dans la colonne d'âge est de 22.

Partition 2:

Hadoop s'est produit une fois dans la deuxième partition. La valeur minimale est de 22.

Partition 3:

Oracle s'est produit quatre fois dans la troisième partition.

La valeur minimale dans la colonne d'âge est de 21.

Partition 4:

PHP s'est produit trois fois dans la quatrième partition.

La valeur minimale dans la colonne d'âge est de 21.

Fonction de fenêtre Pyspark Max ()

La fonction max () dans la fenêtre est utilisée pour renvoyer la valeur maximale dans chaque partition. Il peut être possible de renvoyer une valeur maximale après le partitionnement du dataframe.

Syntaxe:

dataframe_obj.WithColumn ("Maximum", max (col ("colonne")).sur (partition))

Paramètre:

max (col ("colonne"))

Ici, la fonction max () prend le nom de la colonne comme paramètre. Il renvoie le maximum de valeurs dans cette colonne dans chaque partition.

Nous ajoutons le résultat dans une colonne nommée maximum à 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 obtenez la valeur maximale de la colonne Subject_ID dans chaque partition.

# Importer la fonction de fenêtre
de Pyspark.SQL.Fenêtre d'importation de fenêtre
#IMPORT LE MAX ET COL DE PYSPARK.SQL.les fonctions
de Pyspark.SQL.fonctions import max, col
#Partition le dataframe en fonction des valeurs de la colonne Technology1
partition = fenêtre.partitionby ("Technology1")
print ("---------- partitionné DataFrame ----------")
#Return la valeur maximale dans la colonne sujette_id pour chaque partition
dataframe_obj.withColumn ("maximum", max (col ("sujet_id"))).sur (partition)).montrer()

Sortir:

Explication:

Le nombre total de partitions est 4.

Partition 1:

Le .Le filet s'est produit deux fois dans la première partition. La valeur maximale dans la colonne Subject_ID est 46.

Partition 2:

Hadoop s'est produit une fois dans la deuxième partition. Ainsi, la valeur maximale est de 12.

Partition 3:

Oracle s'est produit quatre fois dans la troisième partition.

La valeur maximale dans la colonne Subject_ID est 46.

Partition 4:

PHP s'est produit trois fois dans la quatrième partition.

La valeur maximale dans la colonne Subject_ID est 4.

Exemple 2:

Maintenant, nous avons un dataframe (créé précédemment). Letons-le en fonction de la colonne Technology1 et obtenons la valeur maximale de la colonne d'âge dans chaque partition.

# Importer la fonction de fenêtre
de Pyspark.SQL.Fenêtre d'importation de fenêtre
#IMPORT LE MAX ET COL DE PYSPARK.SQL.les fonctions
de Pyspark.SQL.fonctions import max, col
#Partition le dataframe en fonction des valeurs de la colonne Technology1
partition = fenêtre.partitionby ("Technology1")
print ("---------- partitionné DataFrame ----------")
#return la valeur maximale de la colonne d'âge pour chaque partition
dataframe_obj.WithColumn ("maximum", max (col ("âge")).sur (partition)).montrer()

Sortir:

Explication:

Le nombre total de partitions est 4.

Partition 1:

Le .Le filet s'est produit deux fois dans la première partition. La valeur maximale dans la colonne d'âge est de 22.

Partition 2:

Hadoop s'est produit une fois dans la deuxième partition. Ainsi, la valeur maximale est de 22.

Partition 3:

Oracle s'est produit quatre fois dans la troisième partition.

La valeur maximale dans la colonne d'âge est de 23.

Partition 4:

PHP s'est produit trois fois dans la quatrième partition.

La valeur maximale dans la colonne d'âge est de 23.

Conclusion

Dans ce didacticiel de partitionnement Pyspark, nous avons appris à renvoyer les valeurs minimales dans chaque fenêtre partitionnée en utilisant la fonction min () et les valeurs maximales dans chaque fenêtre partitionnée à l'aide de la fonction max (). Nous avons ajouté le résultat au DataFrame existant en tant que nouvelle colonne. Assurez-vous que vous devez importer le min et le max du pyspark.SQL.module de fonctions.