Pyspark minst funksjon

Pyspark minst funksjon
I Pyspark DataFrame er det mulig å returnere minstelementene i to eller flere kolonner.

Pyspark støtter minst () -funksjonen, som brukes til å finne de minste verdiene i flere kolonner over alle radene i en Pyspark RDD eller en Pyspark DataFrame.

Det er tilgjengelig i Pyspark.SQL.funksjoner modul.

Syntaks
DataFrame_obj.Velg (minst (DataFrame_OBJ.Kolonne1, DataFrame_OBJ.kolonne2, ...))

Parameter:
Det tar kolonner som parametere.

Vi får tilgang til kolonnene ved hjelp av '.'Operatør (kolonne1, kolonne2, representerer kolonnenavn).

Data
Her vil vi lage 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 minste verdiene i to eller flere kolonner fra forrige DataFrame.

Eksempel 1
Så vi opprettet forrige DataFrame. Nå vil vi returnere de minste verdiene fra emne_id og alder kolonner.

# Importer minst funksjon fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer minst
#Sammenlign kolonnene - emne_id og alder og returner de laveste verdiene over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.emne_id, dataaframe_obj.Alder, minst (DataFrame_OBJ.emne_id, dataaframe_obj.alder)).forestilling()

Produksjon:

Forklaring
Du kan sammenligne de to kolonneverdiene i hver rad.

minst (4,23) - 4
minst (4,23) - 4
minst (46,22) -22
minst (4,21) - 4
minst (46,22) - 22
minst (12,22) - 12
minst (12,22) - 12
minst (4,23) - 4
minst (4,21) - 4
minst (46,22) - 22.

Eksempel 2
Vi opprettet forrige DataFrame. Nå vil vi returnere de minste verdiene fra Navn, teknologi1, og Technology2 kolonner.

# Importer minst funksjon fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer minst
#Sammenlign kolonnene - Navn, Technology1, Technology2 og alder og returner de laveste verdiene over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2,
minst (dataaframe_obj.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2)).forestilling()

Produksjon:

Her sammenlignes strenger basert på ASCII -verdiene:

minst (Sravan, PHP, testing) - PHP
minst (Sravan, PHP, testing) - PHP
minst (Mounika, .Nett, html) - .NETT
Minst (Deepika, Oracle, HTML) - HTML
Minst (Mounika, Oracle, Testing) - Oracle
minst (Chandrika, Hadoop, C#) - C#
Minst (Chandrika, Oracle, Testing) - Oracle
minst (Sravan, Oracle, C#) - C#
minst (Deepika, PHP, C#) - C#
minst (Mounika,.Nett, testing) -.NETT.

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 minst funksjon fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer minst
#Sammenlign kolonnene - emne_id og alder og returner de laveste verdiene over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.emne_id, dataaframe_obj.Alder, minst (DataFrame_OBJ.emne_id, dataaframe_obj.alder)).forestilling()
#Sammenlign kolonnene - Navn, Technology1, Technology2 og alder og returner de laveste verdiene over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2,
minst (dataaframe_obj.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2)).forestilling()

Konklusjon

Minst () -funksjonen brukes til å finne de laveste verdiene i flere kolonner over alle radene i en Pyspark RDD eller en Pyspark DataFrame. Den sammenligner kolonnene bare med lignende datatyper. Ellers vil det heve analyse unntaket. Uttrykkene skal alle ha samme type.