W Python PYSPARK to moduł Spark, który zapewnia podobny rodzaj przetwarzania, taki jak Spark za pomocą DataFrame. expr () w PYSPARK odnosi się do wyrażenia SQL używanego do wyodrębnienia danych poprzez wykonanie niektórych operacji. expr () może być używane w wielu scenariuszach.
Rzeczywista składnia
Expr (wyrażenie SQL)
Wymaga wyrażenia SQL i wykonuje niektóre operacje w wyrażeniu.
Omówmy to jeden po drugim. Wcześniej musimy utworzyć PYSPARK DATAFRAME do demonstracji."
Przykład
Utworzymy ramkę danych z 5 rzędami i 6 kolumnami i wyświetlimy ją za pomocą metody show ().
#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23, „wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16, „wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7, „wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „Nazwa”: „Rohith”, „wiek”: 9, „wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37, „wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#Display DataFrame
df.pokazywać()
Wyjście
Scenariusz 1: Połączenie jednej lub więcej kolumn
W tym scenariuszu połączymy jedną lub więcej kolumn w Pyspark DataFrame za pomocą expr ().
Wykorzystuje metodę WHIOLMUNM () do utworzenia nowej nazwy kolumny dla kolumn Conatenate.
Składnia
ramka danych.withColumn („kolumn_name”, wyrażenie)
Parametry
Wymaga dwóch parametrów.
- Pierwsza to nazwa kolumny używana jako nazwa kolumny dla połączonych kolumn
- Wyrażenie powstaje za pomocą expr () do łączenia kolumn.
Tutaj wyrażenie to:
expr („separator kolumny
Tutaj kolumna odnosi się do nazw kolumn, które mają być połączone z separatorem między nimi. Może to być dowolna postać, podobnie jak postacie specjalne.
Przykład
W tym przykładzie łączymy trzy kolumny - Rzuć No Name and Adres oddzielone „ -”, a nazwa kolumny tych połączonych kolumn to: „Rollno z nazwą i adresem."
#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23, „wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16, „wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7, „wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „Nazwa”: „Rohith”, „wiek”: 9, „wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37, „wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#Concate Rollno, Nazwa i kolumny adresowe uaing expr ()
df.withColumn („Rollno z nazwą i adresem”, expr („Rollno ||”-'|| Nazwa ||'-'|| Adres ")))).pokazywać()
Wyjście
Widzimy, że kolumny Rollno, Nazwa i adresy są połączone z separatorem „-”.
Scenariusz 2: Dodaj nową kolumnę na podstawie warunków
Tutaj użyjemy expr (), aby określić warunki w nim i, wraz z withColumn (), aby przypisać wartości z warunków zwróconych w nowej kolumnie.
Możemy określić warunki za pomocą przypadku, kiedy
Struktura
Przypadek, kiedy
NASTĘPNIE
Przypadek, kiedy
NASTĘPNIE
…
…
W PRZECIWNYM RAZIE
KONIEC
Wewnątrz, kiedy musimy zapewnić stan i wewnątrz, musimy wykonać akcję.
Jeśli warunek wewnątrz jest prawdziwy, blok jest wykonywany. Jeśli się nie powiedzie, trafia do bloku i końca.
To warunkowe stwierdzenie jest dostarczane wewnątrz Expr () jako wyrażenie SQL.
Składnia
ramka danych.withColumn („kolumna”, expr („przypadek, gdy warunek
Gdzie,
- Kolumna to nowa kolumna, która jest utworzona, a wartości są przypisywane na podstawie warunków w tej kolumnie
- expr () bierze przypadek, gdy logika warunkowa
Przykład
W tym przykładzie tworzymy nową kolumnę - „Ulepszona wysokość” i przypisujemy do niej wartości na podstawie następujących warunków zastosowanych do kolumny wysokości.
Jeśli wysokość jest większa niż 5 - Przypisz 10 w kolumnie ulepszonej wysokości na nim.
Jeśli wysokość jest mniejsza niż 5 - Przypisz 5 w kolumnie ulepszonej wysokości na nim.
W przeciwnym razie zaktualizuj kolumnę wysokości do 7 w całym wierszach.
#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23, „wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16, „wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7, „wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „Nazwa”: „Rohith”, „wiek”: 9, „wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37, „wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
Kolumna #In wysokości
#if Wysokość jest większa niż 5 - Przypisz 10 w kolumnie ulepszonej wysokości
#if Wysokość jest mniejsza niż 5 - Przypisz 5 w kolumnie ulepszonej wysokości
#Insterise zaktualizowana kolumna wysokości jako 7 w poprzek wierszy
df.withColumn („Ulepszona wysokość”, expr („obudowa When Wysokość> 5, a następnie 10" +"When Wysokość <5 THEN 5 ELSE 7 END")).show()
Wyjście
Widzimy, że wartości są przydzielane w kolumnie „Ulepszona wysokość” w oparciu o warunki.
Scenariusz 3: Wykonaj operacje arytmetyczne
Możliwe jest wykonanie operacji arytmetycznych, takich jak dodanie, odejmowanie, mnożenie i podział z istniejącymi kolumnami za pomocą expr ().
Tutaj Expr () można użyć z klauzulą Wybierz, aby wyświetlić zaktualizowane kolumny.
Składnia
ramka danych.Wybierz (expr („wyrażenie”))
Wyrażenie służy do wykonywania operacji arytmetycznych, które mogą być:
„Kolumna ARITHMETIC_OPERATOR WARTOŚCI AS NEW_COOLUMN”
Kolumna to nazwa kolumny, w której możemy wykonywać operacje arytmetyczne; Wartość to liczba dodana do każdego wiersza w kolumnie, a New_Column to nazwa kolumny, która przechowuje wynik.
Przykład
W tym przykładzie wykonamy dwie operacje arytmetyczne - dodanie i odejmowanie w kolumnie wiekowej.
#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23, „wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16, „wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7, „wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „Nazwa”: „Rohith”, „wiek”: 9, „wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37, „wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#ADD 10 do wiekowego kolumny
df.Wybierz (DF.wiek, expr („wiek + 10 jako wiek_after_10”)).pokazywać()
#Subtract 10 z kolumny wiekowej
df.Wybierz (DF.wiek, expr („wiek - 10 jako AGE_BEFOR_10”)).pokazywać()
Wyjście
W operacji dodawania dodajemy 10 do kolumny wiekowej i przechowujemy w kolumnie „Age_after_10”.
W operacji odejmowania odejmujemy 10 od kolumny wiekowej i przechowujemy ją w kolumnie „Age_before_10”.
Wniosek
W tym samouczku Pyspark widzieliśmy, jak używać expr () w trzech różnych scenariuszach. Może być stosowany do wyrażeń warunkowych, może być używany do wykonywania operacji arytmetycznych i może być używany do połączenia wielu kolumn.