W tym artykule na temat PYSPARK zademonstrujemy funkcje przetwarzania tablicy
array_remove (),
rozmiar() I
odwracać() do manipulowania tablicami.
- metoda array_remove ()
- Metoda wielkości ()
- Metoda odwrotna ()
Aby zrobić te przykłady, najpierw musimy przedstawić StructType (),Structfield () I Arrytype () Metody, które są używane do zdefiniowania kolumn w PYSPARK DataFrame. Korzystając z tych metod, możemy zdefiniować nazwy kolumn i typy danych poszczególnych 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_remove ()
array_remove () służy do usuwania określonej wartości w tablicy we wszystkich wierszach w kolumnie typu tablicy. Wymaga dwóch parametrów.
Składnia:
array_remove (array_column, „wartość”)
Parametry:
- Array_Column to kolumna tablicy, która ma tablice o wartościach
- Wartość jest obecna w tablicy, która ma zostać usunięta z wartości tablicy.
funkcja array_remove () jest używana z metodą Select () do wykonania akcji.
Przykład:
W tym wzniesieniu usuniemy:
- „A” z kolumny Student_Full_Name
- „P” z kolumny Student_Full_Name
- „K” z kolumny nazwy_pełnej Student_Full
#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)
# Wyświetl ramkę danych, usuwając wartość „a”
df.Wybierz („Student_full_name”, Array_Remove („Student_full_name”, „A”)).pokazywać()
# Wyświetl ramkę danych, usuwając wartość „p”
df.Wybierz („Student_full_name”, Array_Remove („student_full_name”, „P”)).pokazywać()
# Wyświetl ramkę danych, usuwając wartość „k”
df.Wybierz („Student_full_name”, Array_Remove („student_full_name”, „k”)).pokazywać()
Wyjście:
Na pierwszym wyjściu możemy zobaczyć w drugiej kolumnie:
A, P i K Wartości są usuwane.
rozmiar()
Rozmiar () służy do zwrócenia długości lub liczby wartości obecnych w tablicy w każdym rzędzie ramy danych. Wymaga jednego parametru.
Składnia:
Rozmiar („array_column”)
Parametr:
Array_Column odnosi się do kolumny typu tablicy
Przykład:
Uzyskaj liczbę wartości w tablicy 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 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)
# Uzyskaj rozmiar wartości tablicy we wszystkich wierszach w kolumnie Student_Full_Name
df.Wybierz („Student_full_name”, rozmiar ('student_full_name'))).pokazywać()
Wyjście:
Widzimy, że całkowite wartości obecne w tablicy w każdym rzędzie są zwracane.
odwracać()
rewers () służy do odwrócenia tablicy w każdym rzędzie.
Składnia:
odwrotnie („array_column”)
Parametr:
Array_Column odnosi się do kolumny typu tablicy
Przykład:
Odwróć tablicę wszystkich wierszy 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 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)
# Wartości tablicy odwrotnej w kolumnie Student_Full_Name
df.Wybierz („Student_full_name”, odwrotna ('student_full_name'))).pokazywać()
Wyjście:
Widzimy, że wartości tablicy w nazwie_full_name (2. kolumna) są odwrócone.
Wniosek
W tym artykule widzieliśmy trzy różne funkcje stosowane w kolumnach typu tablicy Pyspark. array_remove () służy do usunięcia określonej wartości obecnej w tablicy we wszystkich wierszach. Rozmiar () służy do uzyskania całkowitej liczby wartości obecnych w tablicy, a odwrotne () służy do odwrócenia tablicy.