PYSPARK, gdzie klauzula

PYSPARK, gdzie klauzula
W Python PYSPARK to moduł Spark używany do zapewnienia podobnego rodzaju przetwarzania, takiego jak Spark za pomocą DataFrame. W PYSPARK, gdzie () jest używany do filtrowania wierszy w ramce danych, zwróci nową ramkę danych, filtrowując wiersze w istniejącej ramce danych.
  1. Metoda - 1: gdzie () z operatorami relacyjnymi
  2. Metoda - 2: gdzie () z operatorami relacyjnymi przy użyciu funkcji col
  3. Metoda - 3: gdzie () z operatorami relacyjnymi w wielu warunkach
  4. Metoda - 4: gdzie () z wyrażeniem SQL
  5. Metoda - 5: gdzie () z metodami String

Utwórzmy Pyspark DataFrame:

Przykład:

Ten przykład utworzy Pyspark DataFrame z 5 wierszy i 6 kolumn i wyświetli go za pomocą metody show ().

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Wportu na funkcję col
od Pyspark.SQL.Funkcje importuj col
#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:

Metoda - 1: gdzie () z operatorami relacyjnymi

Tutaj używamy funkcji Where () do filtrowania Pyspark DataFrame z operatorami relacyjnymi, takimi jak>, < . == etc.

Składnia:

Ramka danych.gdzie (dataframe.Wartość operatora nazwy kolumnowej)

Tutaj, gdzie () akceptuje trzy parametry.

  1. ramka danych.Kolumna_nazwa to kolumna, w której stosuje się filtrowanie
  2. Operator jest operatorem relacyjnym
  3. Wartość to wartość ciągu/liczbowa w porównaniu z wartościami kolumn

Przykład:

W tym przykładzie odfiltrujemy ramkę danych na podstawie kolumn wiekowych, wysokości, wagi i nazw z różnymi operatorami relacyjnymi i wyświetli się filtrowane rzędy za pomocą metody kolekcji ().

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Wportu na funkcję col
od Pyspark.SQL.Funkcje importuj col
#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
#Filtrowanie wieku jako 23
Wydrukuj (DF.gdzie (df.Wiek == 23).zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Wysokość filtrowania jako 2.79
Wydrukuj (DF.gdzie (df.Wysokość == 2.79).zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Filtrowanie wagi większej niż 30
Wydrukuj (DF.gdzie (df.waga> 30).zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Filtrowanie nazwy jako Sravan
Wydrukuj (DF.gdzie (df.name == 'sravan').zbierać())

Wyjście:

[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, name = 'sravan', rolno = '001', waga = 67)]
---------------------------
[Wiersz (adres = „patna”, wiek = 7, wysokość = 2.79, name = „Gnanesh Chowdary”, Rollno = „003”, waga = 17)]
---------------------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, nazwa = „Sravan”, Rollno = „001”, waga = 67), wiersz (adres = „hyd”, wiek = 16, wysokość = 3.79, nazwa = „Ojaswi”, Rollno = „002”, waga = 34), wiersz (adres = „hyd”, wiek = 37, wysokość = 5.59, name = „sridevi”, rollno = '005', waga = 54)]
---------------------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, name = 'sravan', rolno = '001', waga = 67)]

Metoda - 2: gdzie () z operatorami relacyjnymi przy użyciu funkcji col

Tutaj używamy funkcji Where () do filtrowania Pyspark DataFrame z operatorami relacyjnymi, takimi jak>, < . == etc. through col function

Składnia:

Ramka danych.gdzie wartość operatora (col („kolumn_nazwa”))

Tutaj, gdzie () akceptuje trzy parametry.

  1. ramka danych.Kolumna_nazwa to kolumna, w której stosuje się filtrowanie
  2. Operator jest operatorem relacyjnym
  3. Wartość to wartość ciągu/liczbowa w porównaniu z wartościami kolumn

Przykład:

W tym przykładzie odfiltrujemy ramkę danych na podstawie kolumn wiekowych, wysokości, wagi i nazw z różnymi operatorami relacyjnymi i wyświetli się filtrowane rzędy za pomocą metody kolekcji ().

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Wportu na funkcję col
od Pyspark.SQL.Funkcje importuj col
#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
#Filtrowanie wieku jako 23
Wydrukuj (DF.gdzie (col („wiek”) == 23).zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Wysokość filtrowania jako 2.79
Wydrukuj (DF.gdzie (col („wysokość”) == 2.79).zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Filtrowanie wagi większej niż 30
Wydrukuj (DF.gdzie (col („waga”)> 30).zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Filtrowanie nazwy jako Sravan
Wydrukuj (DF.gdzie (col („name”) == 'sravan').zbierać())

Wyjście:

[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, name = 'sravan', rolno = '001', waga = 67)]
---------------------------
[Wiersz (adres = „patna”, wiek = 7, wysokość = 2.79, name = „Gnanesh Chowdary”, Rollno = „003”, waga = 17)]
---------------------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, nazwa = „Sravan”, Rollno = „001”, waga = 67), wiersz (adres = „hyd”, wiek = 16, wysokość = 3.79, nazwa = „Ojaswi”, Rollno = „002”, waga = 34), wiersz (adres = „hyd”, wiek = 37, wysokość = 5.59, name = „sridevi”, rollno = '005', waga = 54)]
---------------------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, name = 'sravan', rolno = '001', waga = 67)]

Metoda - 3: gdzie () z operatorami relacyjnymi w wielu warunkach

Tutaj używamy funkcji Where () do filtrowania Pyspark DataFrame z operatorami relacyjnymi, takimi jak>, < . == etc with multiple conditions.

Składnia:

Ramka danych.gdzie ((konditin1) operator (warunek2)… .)

Tutaj, gdzie () akceptuje trzy parametry.

  1. ramka danych.Kolumna_nazwa to kolumna, w której stosuje się filtrowanie
  2. Operator jest operatorem relacyjnym
  3. Wartość to wartość ciągu/liczbowa w porównaniu z wartościami kolumn
  4. Warunek określa - (DataFrame.Wartość operatora nazwy kolumnowej)

Przykład:

W tym przykładzie przefiltrujemy ramkę danych na podstawie kolumny wiekowej z lub (|) oraz (&) operatorem i wyświetlaj filtrowane rzędy za pomocą metody kolekcji ().

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Wportu na funkcję col
od Pyspark.SQL.Funkcje importuj col
#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
#od filtrowania wieku większego niż 10 i mniej niż 21
Wydrukuj (DF.gdzie ((df.Wiek> 10) i (DF.wiek <21)).collect())
wydrukować("---------------------------")
#Display DataFrame
#Filtrowanie wiek większy niż 10 lub mniej niż 21
Wydrukuj (DF.gdzie ((df.Wiek> 10) | (DF.wiek <21)).collect())

Wyjście:

[Wiersz (adres = „hyd”, wiek = 16, wysokość = 3.79, nazwa = „Ojaswi”, Rollno = '002', waga = 34)]
---------------------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, nazwa = „Sravan”, Rollno = „001”, waga = 67), wiersz (adres = „hyd”, wiek = 16, wysokość = 3.79, nazwa = „Ojaswi”, Rollno = '002', waga = 34), wiersz (adres = „patna”, wiek = 7, wysokość = 2.79, nazwa = „Gnanesh Chowdary”, Rollno = „003”, waga = 17), wiersz (adres = „hyd”, wiek = 9, wysokość = 3.69, nazwa = „Rohith”, Rollno = „004”, waga = 28), wiersz (adres = „hyd”, wiek = 37, wysokość = 5.59, name = „sridevi”, rollno = '005', waga = 54)]

Metoda - 4: gdzie () z wyrażeniem SQL

Tutaj używamy funkcji Where () do filtrowania PYSPARK DATAFRAME z wyrażeniem SQL. Warunek jest otoczony „”. Możemy jednak określić operatora relacyjnego jako warunek.

Składnia:

Ramka danych.Gdzie („DataFrame.Wartość operatora nazwy kolumnowej ”)

Tutaj, gdzie () akceptuje trzy parametry.

  1. ramka danych.Kolumna_nazwa to kolumna, w której stosuje się filtrowanie
  2. Operator jest operatorem relacyjnym
  3. Wartość to wartość ciągu/liczbowa w porównaniu z wartościami kolumn

Przykład:

W tym przykładzie odfiltrujemy ramkę danych na podstawie kolumn wiekowych, wysokości, wagi i nazw z różnymi operatorami relacyjnymi i wyświetli się filtrowane rzędy za pomocą metody kolekcji ().

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Wportu na funkcję col
od Pyspark.SQL.Funkcje importuj col
#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
#Filtrowanie wieku jako 23
#Sing SQL Expression
Wydrukuj (DF.gdzie („wiek == 23”).zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Wysokość filtrowania jako 2.79
#Sing SQL Expression
Wydrukuj (DF.gdzie (”wysokość == 2.79 ").zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Filtrowanie wagi większej niż 30
#Sing SQL Expression
Wydrukuj (DF.gdzie („waga> 30”).zbierać())
wydrukować("---------------------------")
#Display DataFrame
#Filtrowanie nazwy jako Sravan
#Sing SQL Expression
Wydrukuj (DF.gdzie („name == 'sravan'").zbierać())

Wyjście:

[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, name = 'sravan', rolno = '001', waga = 67)]
---------------------------
[Wiersz (adres = „patna”, wiek = 7, wysokość = 2.79, name = „Gnanesh Chowdary”, Rollno = „003”, waga = 17)]
---------------------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, nazwa = „Sravan”, Rollno = „001”, waga = 67), wiersz (adres = „hyd”, wiek = 16, wysokość = 3.79, nazwa = „Ojaswi”, Rollno = „002”, waga = 34), wiersz (adres = „hyd”, wiek = 37, wysokość = 5.59, name = „sridevi”, rollno = '005', waga = 54)]
---------------------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, name = 'sravan', rolno = '001', waga = 67)]

Metoda - 5: gdzie () z metodami String

Tutaj używamy funkcji Where () do filtrowania Pyspark DataFrame za pomocą metod string. Są one stosowane w kolumnach, których danych typu danych jest ciągiem. Oni są

zaczynać z() - Sprawdź znak początkowy w podanych danych

Składnia:

Ramka danych.gdzie (dataframe.Nazwa kolumny.Startswith („Charakter”)

Tutaj,

Kolumna_nazwa to kolumna, w której stosuje się filtrowanie, w którym wartość zaczyna się od podanego znaku.

ENDSWITH () - Sprawdź znak końcowy w danych danych

Składnia:

Ramka danych.gdzie (dataframe.Nazwa kolumny.ENDSWITH („Charakter”)

Tutaj,

Kolumna_nazwa to kolumna, w której stosuje się filtrowanie, gdzie wartość kończy się danym znakiem.

zawiera() - Sprawdź, czy znak zawiera w danych danych

Składnia:

Ramka danych.gdzie (dataframe.Nazwa kolumny.zawiera („Charakter”)

Tutaj,

Kolumna_nazwa to kolumna, w której stosuje się filtrowanie, w którym wartość zawiera z danym znakiem.

Przykład:

W tym przykładzie będziemy filtrować na podstawie kolumny adresu

#Wportu na moduł PYSPAPRK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Wportu na funkcję col
od Pyspark.SQL.Funkcje importuj col
#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
#adres filtrowania
#Starts z „H”
Wydrukuj (DF.gdzie (df.adres.startswith („h”)).zbierać())
wydrukować("-----------------")
#Display DataFrame
#adres filtrowania
#ends z „r”
Wydrukuj (DF.gdzie (df.adres.ENDSWITH („R”)).zbierać())
wydrukować("-----------------")
#Display DataFrame
#adres filtrowania
#comntains „tu”
Wydrukuj (DF.gdzie (df.adres.zawiera („R”)).zbierać())

Wyjście:

[Wiersz (adres = „hyd”, wiek = 16, wysokość = 3.79, nazwa = „Ojaswi”, Rollno = „002”, waga = 34), wiersz (adres = „hyd”, wiek = 9, wysokość = 3.69, nazwa = „Rohith”, Rollno = „004”, waga = 28), wiersz (adres = „hyd”, wiek = 37, wysokość = 5.59, name = „sridevi”, rollno = '005', waga = 54)]
-----------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, name = 'sravan', rolno = '001', waga = 67)]
-----------------
[Wiersz (adres = „guntur”, wiek = 23, wysokość = 5.79, name = 'sravan', rolno = '001', waga = 67)]

Wniosek

W tym artykule omówiono, jak użyć filtra Where () z kilkoma metodami na Pyspark DataFrame w Python. I uwzględniliśmy również wszystkie warunki z wyrażeniami SQL.