„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 poszczególnych kolumn."
Omów je jeden po drugim
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
To odnosi się do pola liczb całkowitych do przechowywania identyfikatorów studentów i drugiej kolumny - 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:
człapać()
Shuffle () służy do przetasowania wartości w tablicy dla wszystkich wierszy w kolumnie typu tablicy Pyspark Dataframe. Zwróci nową tablicę z taskowymi wartościami. Bierze nazwę kolumny typu tablicy jako parametr. Pamiętaj, że losowo tasuje.
Składnia:
Shuffle (array_column)
Parametr:
Array_Column to kolumna tablicy, która ma tablice o wartościach
Funkcja shuffle () jest używana z metodą Select () do wykonania akcji.
Powrót:
Zwróci tablicę z taskowymi wartościami.
Przykład
W tym przykładzie użyjemy funkcji shuffle (), aby tasować wartości obecne w kolumnie 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)
#Shfle Wartości tablicy w kolumnie Student_Full_Name
df.Wybierz („Student_full_name”, Shuffle („Student_full_name”))).pokazywać()
Wyjście:
W drugiej kolumnie widać, że wartości w tablicy zostały potworne.
sort_array ()
sort_array () służy do sortowania elementów w tablicy. Wymaga dwóch parametrów; Pierwszym parametrem jest nazwa kolumny typu tablicy, a drugim parametrem jest ASC, który przyjmuje wartości logiczne. Jeśli to prawda, tablica jest sortowana w kolejności rosnącej. Jeśli jest to fałszywe, tablica jest sortowana w kolejności malejącej. Domyślnie sortuje tablicę w kolejności rosnącej.
Składnia:
sort_array (array_column, ASC = true/false)
Parametry:
- Array_Column to kolumna tablicy, która ma tablice o wartościach
- ASC bierze wartości logiczne, aby sortować tablicę w ramach rosnącej lub zstępującej.
Funkcja sort_array () jest używana z metodą Select () do wykonania akcji.
Powrót:
Jeśli zwraca tablicę posortowaną dla wszystkich wierszy w kolumnie typu tablicy.
Przykład 1
W tym przykładzie sortujemy kolumnę Student_Full_Name w kolejności rosnącej.
#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)
#Sort wartości macierzy w kolumnie Student_Full_Name w kolejności rosnącej
df.Wybierz („Student_full_name”, sort_array („student_full_name”, ASC = true))).pokazywać()
Wyjście:
W drugiej kolumnie widać, że tablica jest sortowana w kolejności rosnącej dla wszystkich wierszy.
Przykład 2
W tym przykładzie sortujemy kolumnę Student_Full_Name w kolejności malejącej.
#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)
#Sort wartości tablicy w kolumnie Student_Full_Name w kolejności malejącej
df.Wybierz („Student_full_name”, sort_array („student_full_name”, ASC = false))).pokazywać()
Wyjście:
W drugiej kolumnie widać, że tablica jest sortowana w kolejności malejącej dla wszystkich wierszy.
Wniosek
W tym artykule Pyspark widzieliśmy dwie różne funkcje tablicy. Shuffle () służy do przetasowania wartości w kolumnie typu tablicy. Następnie omówiliśmy metodę sort_array () używaną do sortowania tablic w kolumnie typu tablicy. Jeśli chcesz posortować tablicę w kolejności malejącej, możesz użyć parametru ASC ustawionego na false.