PYSPARK arra_min i array_max

PYSPARK arra_min i array_max
W Python PYSPARK to moduł Spark używany do zapewnienia podobnego rodzaju przetwarzania, takiego jak Spark za pomocą DataFrame.

Zapewnia metody struktury () i structfield (), które są używane do definiowania kolumn w Pyspark DataFrame.

Korzystając z tych metod, możemy zdefiniować nazwy kolumn i typy danych kolumn.

StructType ()

Ta metoda służy do zdefiniowania struktury Pyspark DataFrame. Zaakceptuje listę typów danych wraz z nazwami kolumn dla danej ramki danych. Jest to znane jako schemat ramki danych. Przechowuje zbiór pól.

Structfield ()

Ta metoda jest stosowana w metodzie structType () Pyspark DataFrame. Zaakceptuje nazwy kolumn z typem danych.

Arrytype ()

Ta metoda służy do zdefiniowania struktury tablicy Pyspark DataFrame. Zaakceptuje listę typów danych. Przechowuje zbiór pól. Możemy umieszczać dane danych wewnątrz ArrayType ().

W tym artykule musimy utworzyć ramkę danych za pomocą tablicy.

Utwórzmy ramkę danych z 2 kolumnami. Pierwsza kolumna to Student_Category, która odnosi się do pola liczb całkowitych do przechowywania identyfikatorów studentów. Druga kolumna - Student_Full_Name służy do przechowywania wartości ciągów w tablicy utworzonej za pomocą ArrayType ().

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#i importuj typy struktur i inne typy danych
od Pyspark.SQL.Typy importuj struktury, structfield, stringType, IntegerType, FloatType, Arrytype
od Pyspark.SQL.Funkcje import array_contains
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Rozważ tablicę z 5 elementami
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['b', 'p'])]]
#określić strukturę i pola struktury
#dla powyższych danych
schema = structType ([structfield („Student_category”, IntegerType ()), structfield („Student_full_name”, Arrytype (StringType ())])))
#Ukreść ramkę danych i dodaj schemat do DataFrame
df = Spark_App.CreatedATAframe (my_array_data, schema = schemat)
df.pokazywać()

Wyjście:

array_min ()

Teraz zobaczymy, co robi Array_min ().

array_min () zwraca wartości minimalne w każdym rzędzie kolumny typu tablicy.

Jest to możliwe przy użyciu metody Select (). Wewnątrz tej metody możemy użyć funkcji array_min () i zwrócić wynik.

Składnia:

ramka danych.Wybierz (array_min (array_column))

Parametry:

Array_Column zawiera wartości typu tablicy

Powrót:

Zwróci minimalne wartości w tablicy we wszystkich wierszach w kolumnie tablicy.

Przykład:

W tym przykładzie zwrócimy wartości minimalne w kolumnie tablicy - Student_Full_Name

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#i importuj typy struktur i inne typy danych
od Pyspark.SQL.Typy importuj struktury, structfield, stringType, IntegerType, FloatType, Arrytype
od Pyspark.SQL.Funkcje importu *
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Rozważ tablicę z 5 elementami
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['b', 'p'])]]
#określić strukturę i pola struktury
#dla powyższych danych
schema = structType ([structfield („student_category”, IntegerType ()), structfield („Student_full_name”, Arrytype (StringType ())])))
#Ukreść ramkę danych i dodaj schemat do DataFrame
df = Spark_App.CreatedATAframe (my_array_data, schema = schemat)
# Uzyskaj minimalne wartości z kolumny Student_Full_Name
df.Wybierz („Student_full_name”, Array_Min ('student_full_name')))).pokazywać()

Wyjście:

Widzimy, że w pierwszym rzędzie - tablica zawiera: a, więc A będzie minimum (w porównaniu na podstawie wartości ASCII).

W drugim rzędzie - tablica ma b, l, b. - B jest minimum

W trzecim rzędzie - tablica ma k, a, k. - A jest minimum

W czwartym rzędzie - tablica ma k-. K jest minimum

W piątym rzędzie - tablica ma b, p. - B jest minimum

array_max ()

Teraz zobaczymy, co robi Array_max ().

array_max () Zwraca maksymalne wartości w każdym rzędzie kolumny typu tablicy.

Jest to możliwe przy użyciu metody Select (). Wewnątrz tej metody możemy użyć funkcji array_max () i zwrócić wynik.

Składnia:

ramka danych.Wybierz (array_max (array_column))

Parametry:

Array_Column zawiera wartości typu tablicy

Powrót:

Zwróci maksymalne wartości w tablicy we wszystkich wierszach w kolumnie tablicy.

Przykład:

W tym przykładzie zwrócimy maksymalne wartości w kolumnie tablicy - Student_Full_Name

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#i importuj typy struktur i inne typy danych
od Pyspark.SQL.Typy importuj struktury, structfield, stringType, IntegerType, FloatType, Arrytype
od Pyspark.SQL.Funkcje importu *
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Rozważ tablicę z 5 elementami
my_array_data = [(1, ['a']), (2, ['b', 'l', 'b']), (3, ['k', 'a', 'k']), ( 4, ['k']), (3, ['b', 'p'])]]
#określić strukturę i pola struktury
#dla powyższych danych
schema = structType ([structfield („student_category”, IntegerType ()), structfield („Student_full_name”, Arrytype (StringType ())])))
#Ukreść ramkę danych i dodaj schemat do DataFrame
df = Spark_App.CreatedATAframe (my_array_data, schema = schemat)
# Uzyskaj maksymalne wartości z kolumny Student_Full_Name
df.Wybierz („Student_full_name”, array_max ('student_full_name')))).pokazywać()

Wyjście:

Widzimy, że w pierwszym rzędzie - tablica zawiera: a, więc a będzie maksimum (w porównaniu na podstawie wartości ASCII).

W drugim rzędzie - tablica ma b, l, b. - L jest maksymalny

W trzecim rzędzie - tablica ma k, a, k. - K jest maksymalne

W czwartym rzędzie - tablica ma k-. K jest maksymalne

W piątym rzędzie - tablica ma b, p. - P jest maksymalne.

Wniosek

W tym samouczku widzieliśmy funkcje Array_min () i Array_max (). array_min używany do zwracania wartości minimalnych w kolumnie typu tablicy we wszystkich wierszach. array_max służy do zwracania maksymalnych wartości w kolumnie typu tablicy we wszystkich wierszach.