Det er mulig å returnere de største elementene i to eller flere kolonner i Pyspark DataFrame.
Pyspark støtter den største () -funksjonen som brukes til å finne de høyeste verdiene i flere kolonner over alle radene i en Pyspark RDD eller i en Pyspark DataFrame.
Det er tilgjengelig i Pyspark.SQL.funksjoner modul.
Syntaks:
DataFrame_obj.velg (størst (dataaframe_obj.Kolonne1, DataFrame_OBJ.kolonne2, ...))
Parameter:
Det tar kolonner som parametere.
Vi får tilgang til kolonnene ved å bruke ".”Operatør (kolonne1, kolonne2,. representerer kolonnenavn).
Data:
Her lager vi en Pyspark DataFrame som har 5 kolonner -['Subject_id', 'Name', 'Age', 'Technology1', 'Technology2'] med 10 rader.
Importer pyspark
Fra Pyspark.SQL Import SparkSession
Spark_app = SparkSession.bygger.AppName ('_').getorCreate ()
Studenter = [(4, 'Sravan', 23, 'PHP', 'Testing'),
(4, 'Sravan', 23, 'PHP', 'Testing'),
(46, 'Mounika', 22, '.Nett ',' 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, '.Nett ',' testing ')
]
DataFrame_OBJ = Spark_App.CreateTataFrame (Studenter, ['Subject_id', 'Name', 'Age', 'Technology1', 'Technology2'])
Print ("---------- DataFrame ----------")
DataFrame_obj.forestilling()
Produksjon:
Nå vil vi se eksemplene for å returnere de største verdiene i to eller flere kolonner fra forrige DataFrame.
Eksempel 1:
Vi opprettet den gitte DataFrame. Nå returnerer vi de største verdiene fra emne_id og alder kolonner.
# Importer den største funksjonen fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer størst
#Sammenlign kolonnene - emne_id og alder og returnere største verdier over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.emne_id, dataaframe_obj.Alder, største (DataFrame_OBJ.emne_id, dataaframe_obj.alder)).forestilling()
Produksjon:
Forklaring:
Du kan sammenligne de to kolonneverdiene i hver rad.
største (4,23) - 23
største (4,23) - 23
største (46,22) -46
største (4,21) - 21
største (46,22) - 46
største (12,22) - 22
største (12,22) - 22
største (4,23) - 23
største (4,21) - 21
største (46,22) - 46.
Eksempel 2:
Vi opprettet den gitte DataFrame. Nå returnerer vi de største verdiene fra Navn , Teknologi1, og Technology2 kolonner.
# Importer den største funksjonen fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer størst
#Sammenlign kolonnene - Navn, Technology1, Technology2 og alder og returnerte største verdier på tvers av hver rad.
DataFrame_obj.Velg (DataFrame_OBJ.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2,
Største (DataFrame_OBJ.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2)).forestilling()
Produksjon:
Her blir strengene sammenlignet basert på ASCII -verdiene.
Største (Sravan, PHP, testing) - Sravan
Største (Sravan, PHP, testing) - Sravan
Største (Mounika, .Nett, html) - Mounika
Største (Deepika, Oracle, HTML) - Deepika
Største (Mounika, Oracle, Testing) - Mounika
Største (Chandrika, Hadoop, C#) - Chandrika
Største (Chandrika, Oracle, Testing) - Chandrika
Største (Sravan, Oracle, C#) - Sravan
Største (Deepika, PHP, C#) - Deepika
Største (Mounika,.Nett, testing) -mounika.
Hele koden:
Importer pyspark
Fra Pyspark.SQL Import SparkSession
Spark_app = SparkSession.bygger.AppName ('_').getorCreate ()
Studenter = [(4, 'Sravan', 23, 'PHP', 'Testing'),
(4, 'Sravan', 23, 'PHP', 'Testing'),
(46, 'Mounika', 22, '.Nett ',' 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, '.Nett ',' testing ')
]
DataFrame_OBJ = Spark_App.CreateTataFrame (Studenter, ['Subject_id', 'Name', 'Age', 'Technology1', 'Technology2'])
Print ("---------- DataFrame ----------")
DataFrame_obj.forestilling()
# Importer den største funksjonen fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer størst
#Sammenlign kolonnene - emne_id og alder og returnere største verdier over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.emne_id, dataaframe_obj.Alder, største (DataFrame_OBJ.emne_id, dataaframe_obj.alder)).forestilling()
#Sammenlign kolonnene - Navn, Technology1, Technology2 og alder og returnerte største verdier på tvers av hver rad.
DataFrame_obj.Velg (DataFrame_OBJ.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2,
Største (DataFrame_OBJ.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2)).forestilling()
Konklusjon
Den største () -funksjonen brukes til å finne de høyeste verdiene i flere kolonner over alle radene i en Pyspark RDD eller i en Pyspark DataFrame. Den sammenligner kolonnene bare med lignende datatyper. Ellers reiser det analyse unntaket - Uttrykkene skal alle ha samme type.