Il est possible de retourner les plus grands éléments dans deux colonnes ou plus dans Pyspark DataFrame.
Pyspark prend en charge la fonction la plus grande () qui est utilisée pour trouver les valeurs les plus élevées dans plusieurs colonnes dans toutes les lignes d'un RDD Pyspark ou dans un Pyspark DataFrame.
Il est disponible dans le pyspark.SQL.les fonctions module.
Syntaxe:
dataframe_obj.SELECT (Greatest (DataFrame_OBJ.colonne1, dataframe_obj.colonne2,…))
Paramètre:
Il faut des colonnes comme paramètres.
Nous pouvons accéder aux colonnes en utilisant le «.”Opérateur (Column1, Column2,. représente les noms de colonne).
Données:
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
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»])
print ("---------- DataFrame ----------")
dataframe_obj.montrer()
Sortir:
Maintenant, nous verrons les exemples pour renvoyer les plus grandes valeurs en deux ou plusieurs colonnes à partir du DataFrame précédent.
Exemple 1:
Nous avons créé le dataframe donné. Maintenant, nous renvoyons les plus grandes valeurs du Subject_id et âge Colonnes.
# Importez la plus grande fonction du module - Pyspark.SQL.les fonctions
de Pyspark.SQL.Les fonctions importent le mieux
#compare les colonnes - sujet_id et âge et renvoyez les plus grandes valeurs sur chaque ligne.
dataframe_obj.SELECT (DATAFRAME_OBJ.Subject_id, dataframe_obj.Âge, plus grand (dataframe_obj.Subject_id, dataframe_obj.âge)).montrer()
Sortir:
Explication:
Vous pouvez comparer les deux valeurs de colonne dans chaque ligne.
le plus grand (4,23) - 23
le plus grand (4,23) - 23
le plus grand (46,22) -46
le plus grand (4,21) - 21
plus grand (46,22) - 46
plus grand (12,22) - 22
plus grand (12,22) - 22
le plus grand (4,23) - 23
le plus grand (4,21) - 21
plus grand (46,22) - 46.
Exemple 2:
Nous avons créé le dataframe donné. Maintenant, nous renvoyons les plus grandes valeurs du nom , Technologie1, et Technologie2 Colonnes.
# Importez la plus grande fonction du module - Pyspark.SQL.les fonctions
de Pyspark.SQL.Les fonctions importent le mieux
#compare les colonnes - Nom, Technology1, Technology2 et Age et renvoyer les plus grandes valeurs sur chaque ligne.
dataframe_obj.SELECT (DATAFRAME_OBJ.nom, dataframe_obj.Technology1, dataframe_obj.Technologie2,
plus grand (dataframe_obj.nom, dataframe_obj.Technology1, dataframe_obj.Technologie2)).montrer()
Sortir:
Ici, les chaînes sont comparées sur la base des valeurs ASCII.
Greatest (Sravan, PHP, test) - Sravan
Greatest (Sravan, PHP, test) - Sravan
plus grand (Mounika, .Net, html) - Mounika
Greatest (Deepika, Oracle, HTML) - Deepika
Greatest (Mounika, Oracle, Testing) - Mounika
Greatest (Chandrika, Hadoop, C #) - Chandrika
Greatest (Chandrika, Oracle, Testing) - Chandrika
Greatest (Sravan, Oracle, C #) - Sravan
Greatest (Deepika, PHP, C #) - Deepika
plus grand (Mounika,.Net, test) -Mounika.
Code entier:
Importer Pyspark
de Pyspark.SQL IMPORT SPARKSESSE
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»])
print ("---------- DataFrame ----------")
dataframe_obj.montrer()
# Importez la plus grande fonction du module - Pyspark.SQL.les fonctions
de Pyspark.SQL.Les fonctions importent le mieux
#compare les colonnes - sujet_id et âge et renvoyez les plus grandes valeurs sur chaque ligne.
dataframe_obj.SELECT (DATAFRAME_OBJ.Subject_id, dataframe_obj.Âge, plus grand (dataframe_obj.Subject_id, dataframe_obj.âge)).montrer()
#compare les colonnes - Nom, Technology1, Technology2 et Age et renvoyer les plus grandes valeurs sur chaque ligne.
dataframe_obj.SELECT (DATAFRAME_OBJ.nom, dataframe_obj.Technology1, dataframe_obj.Technologie2,
plus grand (dataframe_obj.nom, dataframe_obj.Technology1, dataframe_obj.Technologie2)).montrer()
Conclusion
La fonction la plus grande () est utilisée pour trouver les valeurs les plus élevées dans plusieurs colonnes dans toutes les lignes d'un RDD Pyspark ou dans un Pyspark DataFrame. Il compare les colonnes avec des types de données similaires uniquement. Sinon, cela augmente l'exception d'analyse - Les expressions doivent toutes avoir le même type.