PYSPARK - Sumdistinct & Countdistinct

PYSPARK - Sumdistinct & Countdistinct
W Python PYSPARK to moduł Spark używany do zapewnienia podobnego rodzaju przetwarzania, takiego jak Spark za pomocą DataFrame.

PYSPARK - Sumdistinct ()

sumdistinct () w PYSPARK zwraca odrębną wartość całkowitą (sumę) z określonej kolumny w ramce danych. Zwróci sumę, biorąc pod uwagę tylko unikalne wartości. Nie będzie wymagać duplikatów, aby utworzyć sumę.

Wcześniej musimy stworzyć PYSPARK DATAFRAME do demonstracji.

Przykład:

Utworzymy ramkę danych z 5 wierszami 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.69, „waga”: 67, „Adres”: „hyd”,
„Rollno”: „003”, „Nazwa”: „Gnanesh Chowdary”, „wiek”: 16, „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.79, „waga”: 28, „Adres”: „hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#Display DataFrame
df.pokazywać()

Wyjście:

W powyższym Pyspark DataFrame zaobserwowaliśmy, że w wiekowej kolumnie 16 wystąpiła 2 razy, w kolumnie 5 wysokości 5.79 i 3.69 wystąpiło dwa razy, a w kolumnie 67 i 28 wystąpiło dwa razy.

Tak więc sumdistinct () uważa te zduplikowane wartości za pojedynczą wartość i tworzy sumę w kolumnie.

Za pomocą metody Select ()

Możemy uzyskać odrębną wartość całkowitą z kolumny w ramce danych za pomocą metody select (). Za pomocą metody sumdistinct () możemy uzyskać odrębną całkowitą wartość z kolumny. Aby użyć tej metody, musimy ją zaimportować z Pyspark.SQL.Moduł funkcji, a na koniec możemy użyć metody kolekcji (), aby uzyskać odrębną sumę z kolumny

Składnia:

df.Wybierz (sumdistinct ('kolumn_name')))

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Kolumna_nazwa to kolumna, która uzyskała odrębną wartość sum

Jeśli chcemy zwrócić odrębną wartość całkowitą z wielu kolumn, musimy użyć metody sumdistinct () w metodzie select (), określając nazwę kolumny oddzieloną przecinkiem.

Składnia:

df.Wybierz (sumdistinct ('kolumn_name'), sumdistinct ('kolumn_name'),… ., sumdistinct ('kolumn_name')))

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Kolumna_nazwa to kolumna, która uzyskała odrębną wartość sum

Przykład 1: Pojedyncza kolumna

Ten przykład otrzyma odrębną całkowitą wartość z kolumny wysokości w Pyspark DataFrame.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#import sumdistinct ()
od Pyspark.SQL.Funkcje importuj sumdistinct
#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.69, „waga”: 67, „Adres”: „hyd”,
„Rollno”: „003”, „Nazwa”: „Gnanesh Chowdary”, „wiek”: 16, „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.79, „waga”: 28, „Adres”: „hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#zwróć odrębną sumę z kolumny wysokości
df.Wybierz (sumdistinct („wysokość”)).zbierać()

Wyjście:

[Row (suma (odrębna wysokość) = 12.27)]

Powyższy przykład zwraca odrębną wartość całkowitą (sumę) z kolumny wysokości.

Przykład 2: Wiele kolumn

Ten przykład otrzyma odrębną całkowitą wartość od kolumn wysokości, wieku i wagi w Pyspark DataFrame.

#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.69, „waga”: 67, „Adres”: „hyd”,
„Rollno”: „003”, „Nazwa”: „Gnanesh Chowdary”, „wiek”: 16, „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.79, „waga”: 28, „Adres”: „hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#zwróć odrębną sumę z kolumn wysokości, wieku i wagi
df.Wybierz (sumdistinct („wysokość”), sumdistinct („wiek”), sumdistinct („waga”))).zbierać()

Wyjście:

[Row (suma (odrębna wysokość) = 12.27, suma (odrębny wiek) = 85, suma (odrębna waga) = 112)]

Powyższy przykład zwraca odrębną wartość całkowitą (sumę) z kolumn wysokości, wieku i wagi.

Pyspark - Countdistinct ()

Countdistinct () w PYSPARK zwraca wyraźną liczbę wartości (liczbę) z określonej kolumny w ramce danych. Zwróci liczbę, biorąc pod uwagę tylko unikalne wartości. Nie będzie wymagać zduplikowanych wartości, aby utworzyć liczbę.

Wcześniej musimy stworzyć PYSPARK DATAFRAME do demonstracji.

Przykład:

Utworzymy ramkę danych z 5 wierszami 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.69, „waga”: 67, „Adres”: „hyd”,
„Rollno”: „003”, „Nazwa”: „Gnanesh Chowdary”, „wiek”: 16, „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.79, „waga”: 28, „Adres”: „hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#Display DataFrame
df.pokazywać()

Wyjście:

W powyższym Pyspark DataFrame zaobserwowaliśmy, że w wiekowej kolumnie 16 wystąpiła 2 razy, w kolumnie 5 wysokości 5.79 i 3.69 wystąpiło dwa razy, a w kolumnie 67 i 28 wystąpiło dwa razy.

Zatem CountDistinct () uważa te zduplikowane wartości za pojedyncze wartości i tworzy liczbę w kolumnie.

Za pomocą metody Select ()

Możemy uzyskać odrębną liczbę z kolumny w ramce danych za pomocą metody select (). Korzystając z metody craindInct (), możemy uzyskać wyraźną liczbę wierszy z kolumny. Aby użyć tej metody, musimy ją zaimportować z Pyspark.SQL.Moduł funkcji, a na koniec możemy użyć metody kolekcji (), aby uzyskać odrębną liczbę z kolumny

Składnia:

df.Wybierz (CountdIntInkt ('kolumn_name')))

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Kolumna_nazwa to kolumna, która uzyskała odrębną liczbę.

Jeśli chcemy zwrócić odrębną liczbę z wielu kolumn, musimy użyć metody hrabiego.

Składnia:

df.Wybierz (CountDistinct ('Column_name'), CountdIdInkt ('kolumn_name'),… ., Countdistinct ('kolumn_name')))

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Kolumna_nazwa to kolumna, aby uzyskać odrębną liczbę wierszy.

Przykład 1: Pojedyncza kolumna

Ten przykład otrzyma wyraźną liczbę z kolumny wysokości w Pyspark DataFrame.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Import Countdistinct ()
od Pyspark.SQL.Funkcje importują Countdistinct
#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.69, „waga”: 67, „Adres”: „hyd”,
„Rollno”: „003”, „Nazwa”: „Gnanesh Chowdary”, „wiek”: 16, „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.79, „waga”: 28, „Adres”: „hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#zwróć wyraźną liczbę z kolumny wysokości
df.Select (Countdistinct („wysokość”)).zbierać()

Wyjście:

[Row (Count (odmienna wysokość) = 3)]

W powyższym przykładzie zwracana jest wyraźna liczba z kolumny wysokości.

Przykład 2: Wiele kolumn

Ten przykład otrzyma wyraźną liczbę z kolumn wysokości, wieku i wagi w Pyspark DataFrame.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Import Countdistinct ()
od Pyspark.SQL.Funkcje importują Countdistinct
#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.69, „waga”: 67, „Adres”: „hyd”,
„Rollno”: „003”, „Nazwa”: „Gnanesh Chowdary”, „wiek”: 16, „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.79, „waga”: 28, „Adres”: „hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#zwróć wyraźną liczbę z kolumn wysokości, wieku i wagi
df.Select (Countdistinct („wysokość”), Countdistinct („Age”), Countdistinct („waga”))).zbierać()

Wyjście:

[Row (liczba (odrębna wysokość) = 3, liczba (odrębny wiek) = 4, liczba (odrębna waga) = 3)]

Powyższy przykład zwraca wyraźną liczbę z kolumn wysokości, wieku i wagi.

Wniosek:

Omówiliśmy, jak uzyskać odrębną wartość (całkowita) za pomocą sumdistinct () i odrębnej liczby wierszy (liczba) przy użyciu crowindInct () z Pyspark Dataframe przy użyciu metody select ().