PYSPARK - StructType & Structfield

PYSPARK - StructType & Structfield
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.

Za pomocą tych metod możemy zdefiniować nazwy kolumn i typy danych poszczególnych kolumn.

Omówmy 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 za pomocą danych danych.

Składnia:

schemat = structType ([
Structfield („kolumna 1”, danych, true/false),
Structfield („kolumna 2”, danych, true/false),
… ,
Structfield („kolumna n”, danych, true/false)]))

Gdzie schemat odnosi się do ramki danych po utworzeniu

Parametry:

1. StructType akceptuje listę strukturów na liście oddzielonej przecinkiem

2. Structfield () służy do dodawania kolumn do ramki danych, która przyjmuje nazwy kolumn jako pierwszy parametr i danych danych poszczególnych kolumn jako drugi parametr.

Musimy użyć typów danych z metod importowanych z Pyspark.SQL.Moduł typów.

Obsługiwane typy danych to:

  • StringType () - używany do przechowywania wartości ciągów
  • INTEGERTYPE () - używane do przechowywania wartości liczb całkowitych lub długich
  • FloatType () - używane do przechowywania wartości pływakowych
  • DubleType () - używane do przechowywania podwójnych wartości

3. Wartości logiczne jako trzeci parametr; Jeśli to prawda, zostanie użyty dany typ danych; W przeciwnym razie nie, gdy jest to fałszywe.

Musimy przekazać ten schemat do metody DataFrame wraz z danymi.

Składnia:

CreatedATAframe (dane, schema = schemat)

Przykład 1:

W tym przykładzie utworzyliśmy dane na liście zawierającej 5 wierszy i 6 kolumn, i przypisujemy nazwy kolumn jako Rollno z typem danych ciągów, nazwa z typem danych string, wiek z typem liczby całkowitej, wysokość z typem pływakowym , waga z liczbą całkowitą i adresem z typem danych ciągów.

Wreszcie wyświetlimy ramkę danych za pomocą metody show ().

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#i importuj typy struktur i typy danych
od Pyspark.SQL.Typy importuj struktury, structfield, stringType, IntegerType, FloatType
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
Studenci = [['001', „Sravan”, 23,5.79,67, „Guntur”],
[„002”, „Ojaswi”, 16,3.79,34, „Hyd”],
[„003”, „Gnanesh Chowdary”, 7,2.79,17, „Patna”],
[„004”, „Rohith”, 9,3.69,28, „Hyd”],
[„005”, „Sridevi”, 37,5.59,54, „hyd”]]
#określić strukturę i pola struktury
#dla poniższych nazw kolumn
schemat = structType ([
Structfield („Rollno”, StringType (), true),
Structfield („name”, stringtype (), true),
Structfield („wiek”, IntegerType (), true),
Structfield („wysokość”, floattype (), true),
Structfield („waga”, IntegerType (), true),
Structfield („Adres”, StringType (), true)
])
#Ukreść ramkę danych i dodaj schemat do DataFrame
df = Spark_App.CreatedataFrame (Studenci, schema = schemat)
#Display the DataFrame
df.pokazywać()

Wyjście:

Jeśli chcemy wyświetlić schemat danych, musimy użyć metody schematu.

Zwróci to typ DataFrame wraz z kolumnami

Składnia:

Ramka danych. schemat

Jeśli chcemy wyświetlać pola, musimy używać pola ze schematem

Składnia:

Ramka danych. schemat.Pola

Przykład 2

W tym przykładzie wyświetlimy schemat ramki danych

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#i importuj typy struktur i typy danych
od Pyspark.SQL.Typy importuj struktury, structfield, stringType, IntegerType, FloatType
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
Studenci = [['001', „Sravan”, 23,5.79,67, „Guntur”],
[„002”, „Ojaswi”, 16,3.79,34, „Hyd”],
[„003”, „Gnanesh Chowdary”, 7,2.79,17, „Patna”],
[„004”, „Rohith”, 9,3.69,28, „Hyd”],
[„005”, „Sridevi”, 37,5.59,54, „hyd”]]
#określić strukturę i pola struktury
#dla poniższych nazw kolumn
schemat = structType ([
Structfield („Rollno”, StringType (), true),
Structfield („name”, stringtype (), true),
Structfield („wiek”, IntegerType (), true),
Structfield („wysokość”, floattype (), true),
Structfield („waga”, IntegerType (), true),
Structfield („Adres”, StringType (), true)
])
#Ukreść ramkę danych i dodaj schemat do DataFrame
df = Spark_App.CreatedataFrame (Studenci, schema = schemat)
# Wyświetl schemat
Wydrukuj (DF.schemat)

Wyjście:

[Structfield (Rollno, StringType, true), structfield (nazwa, stringType, true), structfield (wiek, liczba całkowita, true), structfield (wysokość, floatType, true), structfield (waga, liczba całkowitych, true), structfield (adres, scrutffield (adres, adres, StringType, true)]

Przykład 3

W tym przykładzie wyświetlimy pola schematu w ramce danych za pomocą schematu.Pola

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#i importuj typy struktur i typy danych
od Pyspark.SQL.Typy importuj struktury, structfield, stringType, IntegerType, FloatType
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
Studenci = [['001', „Sravan”, 23,5.79,67, „Guntur”],
[„002”, „Ojaswi”, 16,3.79,34, „Hyd”],
[„003”, „Gnanesh Chowdary”, 7,2.79,17, „Patna”],
[„004”, „Rohith”, 9,3.69,28, „Hyd”],
[„005”, „Sridevi”, 37,5.59,54, „hyd”]]
#określić strukturę i pola struktury
#dla poniższych nazw kolumn
schemat = structType ([
Structfield („Rollno”, StringType (), true),
Structfield („name”, stringtype (), true),
Structfield („wiek”, IntegerType (), true),
Structfield („wysokość”, floattype (), true),
Structfield („waga”, IntegerType (), true),
Structfield („Adres”, StringType (), true)
])
#Ukreść ramkę danych i dodaj schemat do DataFrame
df = Spark_App.CreatedataFrame (Studenci, schema = schemat)
# Wyświetl pola schematu
Wydrukuj (DF.schemat.pola)

Wyjście:

[Structfield (Rollno, StringType, true), structfield (nazwa, stringType, true), structfield (wiek, liczba całkowita, true), structfield (wysokość, floatType, true), structfield (waga, liczba całkowitych, true), structfield (adres, scrutffield (adres, adres, StringType, true)]

Możemy również użyć metody printschema () do wyświetlania schematu w formacie drzewa

Składnia:

Ramka danych.printschema ()

Przykład 4:

Wyświetl schemat w formacie drzewa za pomocą metody printschema ()

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#i importuj typy struktur i typy danych
od Pyspark.SQL.Typy importuj struktury, structfield, stringType, IntegerType, FloatType
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
Studenci = [['001', „Sravan”, 23,5.79,67, „Guntur”],
[„002”, „Ojaswi”, 16,3.79,34, „Hyd”],
[„003”, „Gnanesh Chowdary”, 7,2.79,17, „Patna”],
[„004”, „Rohith”, 9,3.69,28, „Hyd”],
[„005”, „Sridevi”, 37,5.59,54, „hyd”]]
#określić strukturę i pola struktury
#dla poniższych nazw kolumn
schemat = structType ([
Structfield („Rollno”, StringType (), true),
Structfield („name”, stringtype (), true),
Structfield („wiek”, IntegerType (), true),
Structfield („wysokość”, floattype (), true),
Structfield („waga”, IntegerType (), true),
Structfield („Adres”, StringType (), true)
])
#Ukreść ramkę danych i dodaj schemat do DataFrame
df = Spark_App.CreatedataFrame (Studenci, schema = schemat)
# Wyświetl schemat w formacie drzewa
df.printschema ()

Wyjście: