Możliwe jest zwrócenie największych elementów w dwóch lub więcej kolumnach w Pyspark DataFrame.
PYSPARK obsługuje funkcję Greatest (), która służy do znalezienia najwyższych wartości w wielu kolumnach we wszystkich wierszach w Pyspark RDD lub w Pyspark DataFrame.
Jest dostępny w Pyspark.SQL.Funkcje moduł.
Składnia:
DataFrame_Obj.Wybierz (Greatest (DataFrame_Obj.Kolumna 1, DataFrame_Obj.kolumna2,…))
Parametr:
Zajmuje kolumny jako parametry.
Możemy uzyskać dostęp do kolumn za pomocą „.„Operator (kolumna 1, kolumna2,. reprezentuje nazwy kolumn).
Dane:
Tutaj tworzymy Pyspark DataFrame, który ma 5 kolumn -[„tematy_id”, „name”, „wiek”, „technologia1”, „technologia2”] z 10 wierszy.
Import Pyspark
od Pyspark.SQL Import Sparksession
Spark_App = Sparksession.budowniczy.Nazwa aplikacji('_').getorCreate ()
studenci = [(4, „Sravan”, 23, „Php”, „Testowanie”),
(4, „Sravan”, 23, „php”, „testowanie”),
(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 ', „testowanie”)
]
DataFrame_Obj = Spark_App.CreatedATAframe (studenci, [„Temat_id”, „nazwa”, „wiek”, „technologia1”, „technologia 2”])
Drukuj („---------- DataFrame ----------”)
DataFrame_Obj.pokazywać()
Wyjście:
Teraz zobaczymy przykłady, aby zwrócić największe wartości w dwóch lub wielu kolumnach z poprzedniej formy danych.
Przykład 1:
Utworzyliśmy podaną ramkę danych. Teraz zwracamy największe wartości z temat_id I wiek kolumny.
# Zaimportuj największą funkcję z modułu - PYSPARK.SQL.Funkcje
od Pyspark.SQL.Funkcje importują największe
#Zrzuć kolumny - tematy_id i wiek i zwróć największe wartości w każdym rzędzie.
DataFrame_Obj.Wybierz (DataFrame_Obj.UTATES_ID, DataFrame_Obj.wiek, największy (dataFrame_Obj.UTATES_ID, DataFrame_Obj.wiek)).pokazywać()
Wyjście:
Wyjaśnienie:
Możesz porównać dwie wartości kolumny w każdym rzędzie.
Greatest (4,23) - 23
Greatest (4,23) - 23
Greatest (46,22) -46
Greatest (421) - 21
Greatest (46,22) - 46
Greatest (12,22) - 22
Greatest (12,22) - 22
Greatest (4,23) - 23
Greatest (421) - 21
Greatest (46,22) - 46.
Przykład 2:
Utworzyliśmy podaną ramkę danych. Teraz zwracamy największe wartości z nazwa , Technologia 1, I Technologia2 kolumny.
# Zaimportuj największą funkcję z modułu - PYSPARK.SQL.Funkcje
od Pyspark.SQL.Funkcje importują największe
#Komponuj kolumny - nazwa, technologia 1, technologia2 i wiek i zwróć największe wartości w każdym rzędzie.
DataFrame_Obj.Wybierz (DataFrame_Obj.Nazwa, dataFrame_Obj.Technology1, DataFrame_Obj.Technologia2,
Greatest (DataFrame_Obj.Nazwa, dataFrame_Obj.Technology1, DataFrame_Obj.technologia2)).pokazywać()
Wyjście:
Tutaj ciągi są porównywane na podstawie wartości ASCII.
Greatest (Sravan, PHP, testowanie) - Sravan
Greatest (Sravan, PHP, testowanie) - Sravan
Największa (Mounica, .Net, html) - Mounica
Greatest (Deepika, Oracle, html) - Deepika
Greatest (Mounica, Oracle, Testing) - Mounica
Greatest (Chandrika, Hadoop, C#) - Chandrika
Greatest (Chandrika, Oracle, Testing) - Chandrika
Greatest (Sravan, Oracle, C#) - Sravan
Greatest (Deepika, Php, C#) - Deepika
Największa (Mounica,.Netto, testowanie) -Mounica.
Cały kod:
Import Pyspark
od Pyspark.SQL Import Sparksession
Spark_App = Sparksession.budowniczy.Nazwa aplikacji('_').getorCreate ()
studenci = [(4, „Sravan”, 23, „Php”, „Testowanie”),
(4, „Sravan”, 23, „php”, „testowanie”),
(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 ', „testowanie”)
]
DataFrame_Obj = Spark_App.CreatedATAframe (studenci, [„Temat_id”, „nazwa”, „wiek”, „technologia1”, „technologia 2”])
Drukuj („---------- DataFrame ----------”)
DataFrame_Obj.pokazywać()
# Zaimportuj największą funkcję z modułu - PYSPARK.SQL.Funkcje
od Pyspark.SQL.Funkcje importują największe
#Zrzuć kolumny - tematy_id i wiek i zwróć największe wartości w każdym rzędzie.
DataFrame_Obj.Wybierz (DataFrame_Obj.UTATES_ID, DataFrame_Obj.wiek, największy (dataFrame_Obj.UTATES_ID, DataFrame_Obj.wiek)).pokazywać()
#Komponuj kolumny - nazwa, technologia 1, technologia2 i wiek i zwróć największe wartości w każdym rzędzie.
DataFrame_Obj.Wybierz (DataFrame_Obj.Nazwa, dataFrame_Obj.Technology1, DataFrame_Obj.Technologia2,
Greatest (DataFrame_Obj.Nazwa, dataFrame_Obj.Technology1, DataFrame_Obj.technologia2)).pokazywać()
Wniosek
Greatest () funkcja służy do znalezienia najwyższych wartości w wielu kolumnach we wszystkich rzędach w Pyspark RDD lub w Pyspark DataFrame. Porównuje kolumny tylko z podobnymi typami danych. W przeciwnym razie podnosi wyjątek analizy - Wszystkie wyrażenia powinny mieć ten sam typ.