W PYSPARK można podzielić wiersze w ramce danych za pomocą funkcji okna. Jest dostępny w Pyspark.SQL.okno moduł.
Zaletą partycji jest osiągnięcie spójności danych i grupowanie. Po wykonaniu partycji możemy ustawić rangi na rzędach w każdej partycji za pomocą funkcji rank ().
Możliwe jest podział wierszy w ramce danych na podstawie wartości w określonej kolumnie. Tak więc wszystkie podobne wartości są ustawione na każdą partycję.
Rank () Funkcja okna
Ranga w Pyspark to funkcja okienna, która ustawia szeregi na rzędach w każdej partycji.
Ranga rozpoczyna się od 1, a jeśli jakieś wartości są takie same w dwóch lub więcej rzędach, wówczas ta sama ranga zostanie przypisana. Jednak w następnym rzędzie ranga będzie następującą liczbą licząc z remisowanych wierszy (rzędy o tej samej randze).
Tutaj wartości pochodzą z kolumny, w której określiliśmy kolumnę w środku Zamów przez(). Tak więc, w oparciu o wartości w tej kolumnie, ranga() czeki i przypisuje numer rang.
Najważniejsze jest to ranga() nie jest dostępne bezpośrednio. Musimy to zaimportować z Pyspark.SQL.Funkcje moduł.
Składnia do importu modułu
od Pyspark.SQL.Funkcje importowe rangiW przeciwnym razie możemy to zrobić, aby zaimportować wszystkie metody z tego modułu.
od Pyspark.SQL.Funkcje importu *Musimy wykonać poniższe kroki, aby wykonać partycję i zastosować rangę na partycjonowanych danych.
Kroki:
Składnia:
parition = okno.paritionby („kolumna”).Orderby („kolumna”) Możemy zamówić partycjonowane dane z partycjonowaną kolumną lub dowolną inną kolumną.
Teraz za pomocą nad() funkcja w partycjonowanych rzędach, możesz użyć ranga() funkcjonować. Więc dodamy kolumnę do przechowywania numeru wiersza za pomocą withcoolumn () funkcjonować.
Składnia:
Tak więc nazwa określa nazwę wiersza tutaj, a DataFrame_Obj to nasza Pyspark DataFrame. Zaimplementujmy kod.
Przykład 1: Rank Technology1 według tematu_id
Tutaj utworzymy Pyspark DataFrame, który ma 5 kolumn: [„tematy_id”, „name”, „wiek”, „technologia Technologia 1 Korzystanie z funkcji okna.
Wreszcie, damy szeregi do wierszy we wszystkich partycjach, dodając nową kolumnę o nazwie RANGA.
Import PysparkWyjście:
Wyjaśnienie
Pierwsze wyjście reprezentuje rzeczywiste dane obecne w ramce danych. W drugim wyjściu partycja jest wykonywana na podstawie Technologia 1 kolumna.
Łączne partycje: 4
Partycja 1:
.Net wystąpiła dwa razy w pierwszej partycji. Wartości w kolumnie tematycznej są takie same. Stąd funkcja rank () zwraca tę samą rangę dla obu .Wartości netto.
Partict 2:
Hadoop miał miejsce raz w drugim partycji. Tak więc ranga to 1.
Partycja 3:
Partycja 4:
PHP wystąpił trzykrotnie w czwartej partycji, a wartości w kolumnie tematycznej są takie same dla wszystkich. Stąd ranga to 1 dla wszystkich php.
Przykład 2: Rank Technology2 według tematu_id
Tutaj podzielimy wiersze na podstawie Technologia2 Korzystanie z funkcji okna. Wreszcie, podamy szeregi do wierszy na podstawie kolumny tematu_id we wszystkich partycjach, dodając nową kolumnę o nazwie „RANGA".
(Jeśli nie utworzyłeś Pyspark DataFrame, utwórz go za pomocą pierwszego przykładu.)
# Zaimportuj funkcję oknaWyjście:
Wyjaśnienie
Dane wyjściowe reprezentuje rzeczywiste dane obecne w ramce danych.
W drugim wyjściu partycja jest wykonywana na podstawie Technologia2 kolumna i uporządkowane na podstawie kolumny tematycznej.
Łączne partycje: 3
Partycja 1:
C# wystąpił trzy razy w pierwszej partycji. Pierwsze dwie wartości w kolumnie tematycznej są takie same. Stąd funkcja rank () zwraca tę samą rangę 1 dla pierwszych dwóch c#, a dla trzeciego c#ranga to 3.
Partict 2:
HTML wystąpił dwukrotnie w drugim partycji, a wartości podmiotu są różne dla tych dwóch. Tak więc ranga 1 jest przypisywana do pierwszego HTML, a ranga 2 jest przypisywana na drugi.
Partycja 3:
Przykład 3: Rank Technology2 według wieku
Tutaj podzielimy wiersze na podstawie Technologia2 Korzystanie z funkcji okna.
Wreszcie, podamy szeregi wierszy na podstawie kolumny wiekowej we wszystkich partycjach, dodając nową kolumnę o nazwie „RANGA".
(Jeśli nie utworzyłeś Pyspark DataFrame, utwórz go za pomocą pierwszego przykładu.)
# Zaimportuj funkcję oknaWyjście:
Wyjaśnienie
Dane wyjściowe reprezentuje rzeczywiste dane obecne w ramce danych. W drugim wyjściu partycja jest wykonywana na podstawie Technologia2 kolumna i uporządkowane na podstawie kolumny wiekowej.
Łączne partycje: 3
Partycja 1:
C# wystąpił trzy razy w pierwszej partycji. I wszystkie wartości w kolumnie wiekowej są różne. Stąd funkcja rank () zwraca rangi 1, 2 i 3 dla trzech wartości C#.
Partict 2:
HTML wystąpił dwa razy w pierwszej partycji. Wszystkie wartości w kolumnie wiekowej są różne. Stąd funkcja rank () zwraca rangi 1 i 2 dla dwóch wartości HTML.
Partycja 3:
Wniosek
Omówiliśmy partycjonowanie wierszy w PYSPARK DATAFRAME i ustawienie rangi w każdej partycji za pomocą funkcji okna rank (). Ranga w Pyspark to funkcja okienna, która ustawia szeregi na rzędach w każdej partycji. Użyj tego polecenia podczas korzystania z tej funkcji od Pyspark.SQL.Funkcje importowe rangi.