Funkcja PYSPARK - MIN

Funkcja PYSPARK - MIN
Po partycjonowaniu wierszy w Pyspark DataFrame, możliwe jest zwrócenie minimalnych i maksymalnych wartości w każdej partycji. Korzystając z niektórych funkcji łącznych w oknie partycji, możliwe jest zwrócenie minimum/maksimum.

Najpierw widzimy, jak podzielić ramkę danych w Pyspark.

Przegroda

Możliwe jest podział wierszy w ramce danych za pomocą funkcji okna. Jest dostępny w Pyspark.SQL.okno moduł. Będą dwa kroki, aby podzielić wiersze w Pyspark DataFrame.

Kroki:

  1. Utwórz Pyspark DataFrame, który ma pewne podobne wartości w co najmniej jednej kolumnie.
  2. Partycjonowanie danych za pomocą metody paritionby () dostępnej funkcji InWindow.

Składnia:

parition = okno.paritionby („kolumna”)

Możemy zamówić partycjonowane dane z partycjonowaną kolumną lub dowolną inną kolumną.

Utwórzmy ramkę danych.

Przykład:

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
od Pyspark.SQL.Funkcje importu *
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 („---------- Rzeczywista ramka danych ----------”)
DataFrame_Obj.pokazywać()

Wyjście:

Funkcja okna PYSPARK MIN ()

Min () w funkcji okna służy do zwrócenia minimalnej wartości w każdej partycji. Może być możliwe zwrócenie minimalnej wartości po partycjonowaniu danych danych.

Składnia:

DataFrame_Obj.withcolumn („minimum”, min (col („kolumna”)).Over (partycja))

Parametr:

min (col („kolumna”))

Tutaj funkcja min () bierze nazwę kolumny jako parametr. Zwraca minimum wartości w tej kolumnie w każdej partycji.

Dodajemy wynik do kolumny o nazwie minimum za pomocą funkcji WhipColumn ().

Przykład 1:

Teraz mamy ramkę danych (utworzoną wcześniej). Podzielmy go na podstawie kolumny Technology1 i uzyskaj minimalną wartość z kolumny tematycznej_.

# Zaimportuj funkcję okna
od Pyspark.SQL.okno importowe
#Import the min i col z Pyspark.SQL.Funkcje
od Pyspark.SQL.Funkcje importowe min, col
#Partiction The DataFrame na podstawie kolumny Wartości w technologii1
parition = okno.Partitionby („Technology1”)
Drukuj („---------- PARTITIONED DATEFRAME ----------”)
#zwróć minimalną wartość w kolumnie podmiotu dla każdej partycji
DataFrame_Obj.withColumn („minimum”, min (col („tematy_id”)).Over (partycja)).pokazywać()

Wyjście:

Wyjaśnienie:

Całkowita liczba partycji wynosi 4.

Partycja 1:

.Net wystąpiła dwa razy w pierwszej partycji. Minimalna wartość w kolumnie tematycznej wynosi 46.

Partict 2:

Hadoop miał miejsce raz w drugim partycji. Tak więc minimalna wartość wynosi 12.

Partycja 3:

Oracle wystąpiła cztery razy w trzeciej partycji.

Minimalna wartość w kolumnie tematycznej wynosi 4.

Partycja 4:

PHP wystąpił trzy razy w czwartej partycji.

Minimalna wartość w kolumnie tematycznej wynosi 4.

Przykład 2:

Teraz mamy ramkę danych (utworzoną wcześniej). Podzielmy go na podstawie kolumny Technology1 i uzyskaj minimalną wartość z kolumny wiekowej w każdej partycji.

# Zaimportuj funkcję okna
od Pyspark.SQL.okno importowe
#Import the min i col z Pyspark.SQL.Funkcje
od Pyspark.SQL.Funkcje importowe min, col
#Partiction The DataFrame na podstawie kolumny Wartości w technologii1
parition = okno.Partitionby („Technology1”)
Drukuj („---------- PARTITIONED DATEFRAME ----------”)
#zwróć minimalną wartość w kolumnie wiekowej dla każdej partycji
DataFrame_Obj.withcolumn („minimum”, min (col („wiek”)).Over (partycja)).pokazywać()

Wyjście:

Wyjaśnienie:

Całkowita liczba partycji wynosi 4.

Partycja 1:

.Net wystąpiła dwa razy w pierwszej partycji. Minimalna wartość w kolumnie wiekowej wynosi 22.

Partict 2:

Hadoop miał miejsce raz w drugim partycji. Minimalna wartość to 22.

Partycja 3:

Oracle wystąpiła cztery razy w trzeciej partycji.

Minimalna wartość w kolumnie wiekowej wynosi 21.

Partycja 4:

PHP wystąpił trzy razy w czwartej partycji.

Minimalna wartość w kolumnie wiekowej wynosi 21.

Funkcja okna PYSPARK max ()

Max () w funkcji okna służy do zwrócenia maksymalnej wartości w każdej partycji. Może być możliwe zwrócenie maksymalnej wartości po partycjonowaniu DataFrame.

Składnia:

DataFrame_Obj.withColumn („Maximum”, Max (col („kolumna”)).Over (partycja))

Parametr:

Max (col („kolumna”))

Tutaj funkcja max () bierze nazwę kolumny jako parametr. Zwraca maksymalne wartości w tej kolumnie w każdej partycji.

Dodajemy wynik do kolumny o nazwie maksimum za pomocą funkcji withColumn ().

Przykład 1:

Teraz mamy ramkę danych (utworzoną wcześniej). Podzielmy go na podstawie kolumny Technology1 i uzyskaj maksymalną wartość z kolumny Temat_ID w każdej partycji.

# Zaimportuj funkcję okna
od Pyspark.SQL.okno importowe
#Wportu Maxa i Col z Pyspark.SQL.Funkcje
od Pyspark.SQL.Funkcje importowe, col
#Partiction The DataFrame na podstawie kolumny Wartości w technologii1
parition = okno.Partitionby („Technology1”)
Drukuj („---------- PARTITIONED DATEFRAME ----------”)
#zwróć maksymalną wartość w kolumnie podmiotu dla każdej partycji
DataFrame_Obj.withColumn („Maximum”, Max (col („tematy_id”)).Over (partycja)).pokazywać()

Wyjście:

Wyjaśnienie:

Całkowita liczba partycji wynosi 4.

Partycja 1:

.Net wystąpiła dwa razy w pierwszej partycji. Maksymalna wartość w kolumnie UTATS_ID wynosi 46.

Partict 2:

Hadoop miał miejsce raz w drugim partycji. Tak więc maksymalna wartość to 12.

Partycja 3:

Oracle wystąpiła cztery razy w trzeciej partycji.

Maksymalna wartość w kolumnie UTATS_ID wynosi 46.

Partycja 4:

PHP wystąpił trzy razy w czwartej partycji.

Maksymalna wartość w kolumnie UTATS_ID wynosi 4.

Przykład 2:

Teraz mamy ramkę danych (utworzoną wcześniej). Podzielmy go na podstawie kolumny Technology1 i uzyskaj maksymalną wartość z kolumny wiekowej w każdej partycji.

# Zaimportuj funkcję okna
od Pyspark.SQL.okno importowe
#Wportu Maxa i Col z Pyspark.SQL.Funkcje
od Pyspark.SQL.Funkcje importowe, col
#Partiction The DataFrame na podstawie kolumny Wartości w technologii1
parition = okno.Partitionby („Technology1”)
Drukuj („---------- PARTITIONED DATEFRAME ----------”)
#zwróć maksymalną wartość w kolumnie wiekowej dla każdej partycji
DataFrame_Obj.withcolumn („maksimum”, maks. (col („wiek”)).Over (partycja)).pokazywać()

Wyjście:

Wyjaśnienie:

Całkowita liczba partycji wynosi 4.

Partycja 1:

.Net wystąpiła dwa razy w pierwszej partycji. Maksymalna wartość w kolumnie wiekowej wynosi 22.

Partict 2:

Hadoop miał miejsce raz w drugim partycji. Tak więc maksymalna wartość to 22.

Partycja 3:

Oracle wystąpiła cztery razy w trzeciej partycji.

Maksymalna wartość w kolumnie wiekowej wynosi 23.

Partycja 4:

PHP wystąpił trzy razy w czwartej partycji.

Maksymalna wartość w kolumnie wiekowej wynosi 23.

Wniosek

W tym samouczku partycjonowania PYSPARK nauczyliśmy się, jak zwrócić wartości minimalne w każdym oknie partycjonowanym za pomocą funkcji min () i maksymalnych wartości w każdym partycjonowanym oknie za pomocą funkcji max (. Dodaliśmy wynik do istniejącej ramki danych jako nowej kolumny. Upewnij się, że musisz zaimportować min i maksymalnie z Pyspark.SQL.Moduł funkcji.