Pyspark - La più grande funzione

Pyspark - La più grande funzione
È 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.