Pyspark Array_Remove, rozmiar i odwrotność

Pyspark Array_Remove, rozmiar i odwrotność
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:

  1. Array_Column to kolumna tablicy, która ma tablice o wartościach
  2. 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:

  1. „A” z kolumny Student_Full_Name
  2. „P” z kolumny Student_Full_Name
  3. „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.