È possibile restituire i maggiori elementi in due o più colonne in Pyspark DataFrame.
PysPark supporta la funzione più grande () che viene utilizzata per trovare i valori più alti in più colonne su tutte le righe in un PysPark RDD o in un Frame di dati PysPark.
È disponibile in pyspark.SQL.funzioni modulo.
Sintassi:
dataframe_obj.Select (Greatst (DataFrame_Obj.Column1, dataframe_obj.colonna2, ...))
Parametro:
Prende le colonne come parametri.
Possiamo accedere alle colonne usando il "."Operatore (colonna1, colonna2,. rappresenta i nomi delle colonne).
Dati:
Qui, creiamo un frame dati pyspark che ha 5 colonne -['soggetto_id', 'name', 'age', 'technology1', 'technology2'] con 10 righe.
importare pyspark
da pyspark.SQL Importazione di importazione
Spark_app = SparkSession.costruttore.nome dell'applicazione('_').getOrCreate ()
Studenti = [(4, "Sravan", 23, "Php", "Test"),
(4, "Sravan", 23, "Php", "Test"),
(46, "Mounika", 22, ".Net ',' html '),
(4, "Deepika", 21, "Oracle", "HTML"),
(46, "Mounika", 22, "Oracle", "Test"),
(12, "Chandrika", 22, "Hadoop", "C#"),
(12, "Chandrika", 22, "Oracle", "Test"),
(4, "Sravan", 23, "Oracle", "C#"),
(4, "Deepika", 21, "Php", "C#"),
(46, "Mounika", 22, ".Net ',' test ')
"
DataFrame_obj = Spark_app.CreateAtaFrame (Students, ['soggetto_id', 'name', 'age', 'technology1', 'technology2'])
print ("---------- DataFrame ----------")
dataframe_obj.spettacolo()
Produzione:
Ora vedremo gli esempi per restituire i più grandi valori in due o più colonne dal precedente telaio dati.
Esempio 1:
Abbiamo creato i dati dati indicati. Ora restituiamo i più grandi valori da soggetto_id E età colonne.
# Importa la più grande funzione dal modulo - Pyspark.SQL.funzioni
da pyspark.SQL.le funzioni importano più grande
#compare le colonne - soggetto_id e età e restituire i valori più grandi in ogni riga.
dataframe_obj.Seleziona (DataFrame_Obj.soggetto_id, dataframe_obj.età, più grande (dataframe_obj.soggetto_id, dataframe_obj.età)).spettacolo()
Produzione:
Spiegazione:
Puoi confrontare i valori di due colonne in ogni riga.
più grande (4,23) - 23
più grande (4,23) - 23
più grande (46,22) -46
più grande (4,21) - 21
più grande (46,22) - 46
più grande (12,22) - 22
più grande (12,22) - 22
più grande (4,23) - 23
più grande (4,21) - 21
più grande (46,22) - 46.
Esempio 2:
Abbiamo creato i dati dati indicati. Ora restituiamo i più grandi valori da nome , Tecnologia1, E Tecnologia2 colonne.
# Importa la più grande funzione dal modulo - Pyspark.SQL.funzioni
da pyspark.SQL.le funzioni importano più grande
#compare le colonne - nome, tecnologia1, tecnologia2 ed età e restituire i migliori valori in ogni riga.
dataframe_obj.Seleziona (DataFrame_Obj.Nome, dataframe_obj.Technology1, dataframe_obj.Tecnologia2,
più grande (dataframe_obj.Nome, dataframe_obj.Technology1, dataframe_obj.tecnologia2)).spettacolo()
Produzione:
Qui, le stringhe vengono confrontate in base ai valori ASCII.
Greatest (Sravan, PHP, Test) - Sravan
Greatest (Sravan, PHP, Test) - Sravan
più grande (Mounika, .Net, html) - mounika
Greatest (Deepika, Oracle, HTML) - Deepika
Greatest (Mounika, Oracle, Test) - Mounika
più grande (Chandrika, Hadoop, C#) - Chandrika
più grande (Chandrika, Oracle, Test) - Chandrika
Greatest (Sravan, Oracle, C#) - Sravan
Greatest (Deepika, Php, C#) - Deepika
più grande (Mounika,.Net, test) -mounika.
Intero codice:
importare pyspark
da pyspark.SQL Importazione di importazione
Spark_app = SparkSession.costruttore.nome dell'applicazione('_').getOrCreate ()
Studenti = [(4, "Sravan", 23, "Php", "Test"),
(4, "Sravan", 23, "Php", "Test"),
(46, "Mounika", 22, ".Net ',' html '),
(4, "Deepika", 21, "Oracle", "HTML"),
(46, "Mounika", 22, "Oracle", "Test"),
(12, "Chandrika", 22, "Hadoop", "C#"),
(12, "Chandrika", 22, "Oracle", "Test"),
(4, "Sravan", 23, "Oracle", "C#"),
(4, "Deepika", 21, "Php", "C#"),
(46, "Mounika", 22, ".Net ',' test ')
"
DataFrame_obj = Spark_app.CreateAtaFrame (Students, ['soggetto_id', 'name', 'age', 'technology1', 'technology2'])
print ("---------- DataFrame ----------")
dataframe_obj.spettacolo()
# Importa la più grande funzione dal modulo - Pyspark.SQL.funzioni
da pyspark.SQL.le funzioni importano più grande
#compare le colonne - soggetto_id e età e restituire i valori più grandi in ogni riga.
dataframe_obj.Seleziona (DataFrame_Obj.soggetto_id, dataframe_obj.età, più grande (dataframe_obj.soggetto_id, dataframe_obj.età)).spettacolo()
#compare le colonne - nome, tecnologia1, tecnologia2 ed età e restituire i migliori valori in ogni riga.
dataframe_obj.Seleziona (DataFrame_Obj.Nome, dataframe_obj.Technology1, dataframe_obj.Tecnologia2,
più grande (dataframe_obj.Nome, dataframe_obj.Technology1, dataframe_obj.tecnologia2)).spettacolo()
Conclusione
La funzione più grande () viene utilizzata per trovare i valori più alti in più colonne su tutte le righe in un Pyspark RDD o in un PysPark DataFrame. Confronta le colonne con tipi di dati simili. Altrimenti, aumenta l'eccezione dell'analisi - Le espressioni dovrebbero avere tutte lo stesso tipo.