
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?