Wprowadzenie do PySpark SQL
Niektórzy początkujący programiści nie znają PySpark SQL. Zanim przejdziemy do PySpark SQL, powinniśmy mieć pojęcie o tym, czym jest Spark SQL. Zacznijmy od Spark SQL, jest to moduł Apache Spark. Spark SQL służył do pracy z danymi strukturalnymi. PySpark SQL został opracowany do obsługi Pythona w Spark.
PySpark SQL to współpraca Pythona z Spark SQL. Używany głównie w przetwarzaniu danych strukturalnych i częściowo ustrukturyzowanych. Dostarczony przez niego interfejs API może odczytywać dane z wielu źródeł i te źródła danych mogą mieć różne formaty danych.
Co to jest PySpark SQL?
Jest to narzędzie do obsługi Pythona w Spark SQL. Został opracowany do obsługi Pythona w Spark. Aby właściwie zrozumieć PySpark, wymagana jest znajomość Python, Big Data i Spark. PySpark SQL powoli zyskuje popularność wśród programistów baz danych ze względu na jego ważne funkcje.
PySpark SQL działa na systemie rozproszonym i jest również skalowalny, dlatego jest szeroko stosowany w informatyce. W PySpark SQL uczenie maszynowe zapewnia biblioteka python. Ta biblioteka Python jest znana jako biblioteka uczenia maszynowego.
Funkcje PySpark SQL
Niektóre ważne funkcje PySpark SQL podano poniżej:
- Szybkość: jest znacznie szybsza niż tradycyjne ramy przetwarzania dużych danych, takie jak Hadoop.
- Wydajne buforowanie: PySpark zapewnia prostą warstwę programowania, która pomaga w buforowaniu niż w buforowaniu innych struktur.
- Real-Time: Obliczenia w PySpark SQL odbywają się w pamięci, dlatego odbywa się w czasie rzeczywistym.
- Wdrażanie: Może być wdrażane za pośrednictwem Hadoop lub własnego menedżera klastra.
- Polyglot: Obsługuje programowanie w Scali, Javie, Python i R.
Jest on wykorzystywany w Big Data, a tam gdzie Big Data wiąże się z analizą danych. To najgorętsze narzędzie na rynku Big Data Analytics.
Główne zastosowania PySpark SQL
Poniżej podano niektóre sektory, w których Pyspark jest używany w większości:
Przemysł e-commerce
W branży e-commerce PySpark dodaje ważną rolę. Jest wykorzystywany w celu zwiększenia dostępności dla użytkowników, dostarczania ofert klientom docelowym, reklamowania prawdziwym klientom. Różne branże e-commerce, takie jak eBay, Alibaba, Flipkart, Amazon itp. Używają go do pozyskiwania prawdziwych danych w celach marketingowych.
Głoska bezdźwięczna
Różne branże napędzające media, takie jak Youtube, Netflix, Amazon itp., W większości wykorzystują PySpark do przetwarzania dużych danych w celu udostępnienia ich użytkownikom. To przetwarzanie danych odbywa się w czasie rzeczywistym w aplikacjach po stronie serwera.
Bankowość
Bankowość to kolejny ważny sektor, w którym PySpark jest wykorzystywany na bardzo szerokim poziomie. Pomaga sektorowi finansowemu przetwarzać transakcje w czasie rzeczywistym dla milionów nagrań, reklamę dla prawdziwych klientów, ocenę ryzyka kredytowego itp.
Moduły PySpark
Niektóre ważne klasy i ich cechy podano poniżej:
- pyspark.sql.SparkSession: Ta klasa umożliwia programistom programowanie w Spark za pomocą funkcji DataFrame i SQL. SparkSession służy do tworzenia DataFrame, rejestrowania DataFrame jako tabel, tabel pamięci podręcznej, wykonywania SQL na tabelach.
- pyspark.sql.DataFrame: klasa DataFrame odgrywa ważną rolę w rozproszonym zbiorze danych. Te dane pogrupowane w nazwane kolumny. Spark SQL DataFrame jest podobny do relacyjnej tabeli danych. Ramkę danych można utworzyć za pomocą metod SQLContext.
- pyspark.sql.Columns: Za pomocą tej klasy można utworzyć wystąpienia kolumny w DataFrame.
- pyspark.sql.Row: Za pomocą tej klasy można utworzyć wiersz w DataFrame.
- pyspark.sql.GroupedData: klasa GroupedData zapewnia metody agregacji utworzone przez groupBy ().
- pyspark.sql.DataFrameNaFunctions: Ta klasa zapewnia funkcjonalność do pracy z brakującymi danymi.
- pyspark.sql.DataFrameStatFunctions: Funkcje statystyczne są dostępne w DataFrames Spark SQL. Ta funkcja zapewnia funkcjonalność funkcji statystycznych.
- pyspark.sql.functions: Wiele wbudowanych funkcji w Spark jest dostępnych do pracy z DataFrames. Niektóre z wbudowanych funkcji podano poniżej:
Wbudowane metody | Wbudowane metody |
abs (col) | zlokalizuj (substr, str, pos = 1) |
acos (col) | log (arg1, arg2 = Brak) |
add_months (start, miesiące) | log10 (col) |
roxCountDistinct (col, res = none) | log1p (col) |
tablica ((cols)) | log2 (col) |
array_contains (col, wartość) | niższe (col) |
asc (col) | ltrim (col) |
ascii (col) | max (col) |
asin (col) | md5 (col) |
atan | średnia (kol.) |
atan2 | min (col) |
śr | minuta (kol.) |
base64 | monotonically_increase_id () |
kosz | miesiąc (kol.) |
bitowy Nie | months_between (data1, data2) |
Nadawanie | nanvl (col1, col2) |
Bround | next_day (data, dayOfWeek) |
cbrt | ntile (n) |
stropować | percent_rank () |
coalesce ((col)) | posexplode (col) |
col (col) | pow (col1, col2) |
collect_list (col) | ćwiartka (kol.) |
collect_set (col) | radians (col) |
kolumna (kolumna) | rand (seed = None |
concat (* cols) | randn (seed = None) |
concat_ws (sep, * col) | ranga() |
conv (col, fromBase, toBase) | regexp_extract (str, pattern, idx) |
corr (col1, col2) | regexp_replace (str, pattern, replace) |
cos (col) | powtórz (col, n) |
Cosh (col) | rewers (kol.) |
liczba (kol.) | rint (col) |
countDistinct (col, * cols) | okrągły (kol., skala = 0) |
covar_pop (col1, col2) | Numer wiersza() |
covar_samp (col1, col2) | rpad (col, len, pad) |
crc32 (col) | rtrim (col) |
create_map (* cols) | drugi (kol.) |
cume_dist () | sha1 (col) |
bieżąca data() | sha2 (col, numBits) |
current_timestamp () | shiftLeft (col, numBits) |
date_add (start, dni) | shiftRight (col, numBits) |
date_format (data, format) | shiftRightUnsigned (col, numBits) |
data_sub (początek, dni) | signum (col) |
datowany (koniec, początek) | sin (col) |
dayofmonth (col) | sinh (col) |
dayofyear (col) | rozmiar (col) |
dekodowanie (col, charset) | skośność (col) |
stopnie (col) | sort_array (col, asc = True) |
dense_rank () | soundex (col) |
desc (col) | spark_partition_id () |
kodowanie (col, charset) | podział (str, wzór) |
exp (col) | sqrt (col) |
eksplodować (col) | stddev (col) |
expm1 (col) | stddev_pop (col) |
expr (str) | stddev_samp (col) |
silnia (kol) | struct (* cols) |
first (col, ignorenulls = False) | substring (str, pos, len) |
podłoga (col) | substring_index (str, delim, count) |
format_number (col, d) | suma (col) |
format_string (format, * cols) | sumDistinct (col) |
from_json (col, schemat, opcje = ()) | tan (col) |
from_unixtime (znacznik czasu, format = 'rrrr-MM-dd GG: mm: ss') | toDegrees (col) |
from_utc_timestamp (znacznik czasu, tz) | toRadians (col) |
get_json_object (kolumna, ścieżka) | to_date (col) |
największy (* cols) | to_json (col, options = ()) |
grupowanie (col) | to_utc_timestamp (znacznik czasu, tz) |
grouping_id (* cols) | tłumaczyć (srcCol, dopasowanie, zamień) |
hash (* cols) | przycinanie (col) |
hex (cols) | trunc (data, format) |
godzina (kol.) | udf (f, returnType = StringType) |
hypot (col1, col2) | unbase64 (col) |
initcap (col) | unhex (col) |
nazwa_pliku_wejściowego () | unix_timestamp (datownik = Brak, format = 'rrrr-MM-dd GG: mm: ss') |
instr (str, substr) | górna (kol.) |
isnan (col) | var_pop (col) |
isnull (col) | var_samp (col) |
json_tuple (pola col, *) | wariancja (col) |
kurtosis (col) | weekofyear (col) |
lag (col, count = 1, default = None) | kiedy (warunek, wartość) |
last (col, ignorenulls = False) | window (timeColumn, windowDuration, slideDuration = None, startTime = None) |
last_day (data) | rok (kol.) |
lead (col, count = 1, default = None) | najmniej (* cols), świeci (col) |
długość (col) | lewenshtein (lewy, prawy) |
pyspark.sql.types: te typy klas używane w konwersji typów danych. Za pomocą tej klasy obiekt SQL można przekształcić w natywny obiekt Python.
- pyspark.sql.streaming: Ta klasa obsługuje wszystkie zapytania, które są wykonywane w tle. Wszystkie te metody stosowane w transmisji strumieniowej są bezstanowe. Powyższe funkcje wbudowane są dostępne do pracy z ramkami danych. Tych funkcji można użyć, odwołując się do biblioteki funkcji.
- pyspark.sql.Window: Wszystkie metody udostępnione przez tę klasę mogą być używane do definiowania i pracy z oknami w DataFrames.
Wniosek
Jest to jedno z narzędzi wykorzystywanych w obszarze sztucznej inteligencji i uczenia maszynowego. Jest wykorzystywany przez coraz więcej firm do analiz i uczenia maszynowego. Wykwalifikowani specjaliści będą w niej więcej potrzebować w najbliższej przyszłości.
Polecane artykuły
To jest przewodnik po PySpark SQL. Tutaj omawiamy, czym jest pyspark SQL, jego funkcje, główne zastosowania, moduły i wbudowane metody. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -
- Spark DataFrame
- Pytania do wywiadu Spark
- Funkcja daty SQL
- Klauzula SQL
- Architektura Apache Spark z dwiema implementacjami
- Jak korzystać z DISTINCT w Oracle?