Вступ до PySpark SQL

Деякі початківці програмісти не знають про PySpark SQL. Перш ніж пройти спершу PySpark SQL, ми повинні мати уявлення про те, що таке Spark SQL. Почнемо з іскри SQL, це модуль Apache Spark. Іскровий SQL, який використовується для роботи зі структурованими даними. PySpark SQL розроблений для підтримки Python in Spark.

PySpark SQL - це співпраця Python із Spark SQL. В основному використовується в обробці структурованих та напівструктурованих даних. API, наданий нею, може читати дані з великої кількості джерел. Ці джерела даних можуть бути в різних форматах даних.

Що таке PySpark SQL?

Це інструмент для підтримки python за допомогою Spark SQL. Він розроблений для підтримки Python in Spark. Для правильного розуміння PySpark необхідні знання Python, Big Data & Spark. PySpark SQL повільно набирає популярність у програмістів бази даних завдяки своїм важливим особливостям.

PySpark SQL працює в розподіленій системі, і це також масштабується, що тому вона широко використовується в науці даних. У PySpark SQL Machine навчання забезпечується бібліотекою python. Ця бібліотека Python відома як бібліотека машинного навчання.

Особливості PySpark SQL

Нижче наведено деякі важливі особливості PySpark SQL:

  • Швидкість: Це набагато швидше, ніж традиційні великі рамки обробки даних, як Hadoop.
  • Потужне кешування: PySpark забезпечує простий програмуючий шар, який допомагає в кешуванні, ніж кешування інших фреймворків.
  • В режимі реального часу: обчислення в SQL PySpark відбувається в пам'яті, тому це в реальному часі.
  • Розгортання: може розгортатися через Hadoop або власний менеджер кластерів.
  • Поліглот: Він підтримує програмування в Scala, Java, Python та R.

Він використовується у великих даних і там, де є великі дані, пов'язані з аналітикою даних. Це найгарячіший інструмент на ринку Big Data Analytics.

Основні можливості використання PySpark SQL

Нижче наведено деякі сектори, де Pyspark використовується в більшості своїй:

Промисловість електронної комерції

У галузі електронної комерції PySpark додає головну роль. Він використовується для підвищення доступності користувачів, надання пропозицій для цільових клієнтів, реклами справжнім клієнтам. Різні галузі електронної комерції, такі як eBay, Alibaba, Flipkart, Amazon тощо, використовують її для отримання справжніх даних для маркетингових цілей.

ЗМІ

Різні галузі управління медіа, такі як Youtube, Netflix, Amazon тощо, здебільшого використовують PySpark для обробки великих даних, щоб зробити їх доступними для користувачів. Ця обробка даних відбувається в режимі реального часу для серверних додатків.

Банківська справа

Банківська справа - ще один важливий сектор, де PySpark використовується на дуже широкому рівні. Це допомагає фінансовому сектору обробляти операції в режимі реального часу на мільйон оброблення записів, рекламу справжніх клієнтів, оцінку кредитного ризику тощо.

PySpark Модулі

Нижче наведено деякі важливі класи та їх характеристики:

  • pyspark.sql.SparkSession: Цей клас дозволяє програмістам програмувати в Spark за допомогою функцій DataFrame та SQL. SparkSession використовується для створення DataFrame, реєстрації DataFrame у вигляді таблиць, кеш-таблиць, виконання SQL над таблицями.
  • pyspark.sql.DataFrame: Клас DataFrame відіграє важливу роль у розподіленому зібранні даних. Ці дані згруповані в названі стовпці. Spark SQL DataFrame схожий на таблицю реляційних даних. DataFrame може бути створений за допомогою методів SQLContext.
  • pyspark.sql.Columns: Екземпляри стовпців у DataFrame можна створити за допомогою цього класу.
  • pyspark.sql.Row: Рядок у DataFrame можна створити за допомогою цього класу.
  • pyspark.sql.GroupedData: Клас GroupedData надає методи агрегації, створені groupBy ().
  • pyspark.sql.DataFrameNaFunctions: Цей клас забезпечує функціональність для роботи з відсутніми даними.
  • pyspark.sql.DataFrameStatFunctions: статистичні функції доступні у DataFrames of Spark SQL. Функціональність статистичних функцій забезпечується цим класом.
  • pyspark.sql.functions: Для роботи з DataFrames доступні багато вбудованих функцій Spark. Деякі з вбудованих функцій наведені нижче:
Вбудовані методиВбудовані методи
abs (col)знайти (substr, str, pos = 1)
acos (col)журнал (arg1, arg2 = немає)
add_months (початок, місяці)log10 (col)
ccCountDistinct (col, res = немає)log1p (col)
масив ((cols))log2 (col)
array_contains (col, значення)нижній (кол.)
asc (col)ltrim (col)
ascii (col)макс (кол)
asin (col)md5 (col)
атансередній (кол)
atan2хв (кол)
серхвилина (кол)
база64monotonically_increasing_id ()
бункермісяць (кол)
розрядноМісяць_поміж (дата1, дата2)
Трансляціяnanvl (col1, col2)
Земляnext_day (дата, деньOfWeek)
cbrtntile (n)
стелявідсоток_rank ()
злиття ((кол))posexplode (col)
col (col)порошок (col1, col2)
collection_list (col)чверть (кол)
collection_set (col)радіани (кол)
стовпчик (col)rand (насіння = Ні
concat (* cols)randn (насіння = немає)
concat_ws (sep, * col)ранг ()
conv (col, відBase, toBase)regexp_extract (str, візерунок, idx)
corr (col1, col2)regexp_replace (str, шаблон, заміна)
cos (col)повторити (col, n)
cosh (col)реверс (кол)
кол (кол)ринт (кол)
countDistinct (col, * cols)круглий (col, шкала = 0)
covar_pop (col1, col2)row_number ()
covar_samp (col1, col2)rpad (col, len, pad)
crc32 (col)rtrim (col)
create_map (* cols)другий (кол)
cume_dist ()sha1 (col)
Поточна дата()sha2 (col, numBits)
current_timestamp ()shiftLeft (col, числоBits)
date_add (початок, дні)shiftRight (col, числоBits)
date_format (дата, формат)shiftRightUnsigned (col, numBits)
date_sub (початок, дні)signum (col)
dateiff (кінець, початок)гріх (кол)
день місяця (коло)син (кол)
dayofyear (col)розмір (кол)
декодування (col, charset)косоокість (кол)
градусів (кол)sort_array (col, asc = True)
thick_rank ()soundex (col)
desc (col)spark_partition_id ()
кодувати (кол, комір)спліт (str, візерунок)
exp (col)sqrt (col)
вибухнути (кол)stddev (col)
expm1 (col)stddev_pop (col)
expr (str)stddev_samp (col)
факторіал (кол)struct (* cols)
по-перше (col, ignorenulls = False)підрядка (str, pos, len)
підлога (кольор)substring_index (str, розділити, рахувати)
format_number (col, d)сума (кол)
format_string (формат, * cols)sumDistinct (col)
from_json (col, схема, параметри = ())загар
from_unixtime (часова марка, формат = 'yyyy-MM-dd HH: мм: ss')до градусів (кол)
from_utc_timestamp (мітка часу, тз)toRadians (col)
get_json_object (col, шлях)to_date (col)
найбільший (* cols)to_json (col, параметри = ())
групування (кол)to_utc_timestamp (мітка часу, тз)
grouping_id (* cols)перекласти (srcCol, узгодити, замінити)
хеш (* cols)обробка (кол)
шістнадцятковий (кол.)обрізка (дата, формат)
година (кол)udf (f, returnType = StringType)
hypot (col1, col2)unbase64 (col)
initcap (col)unhex (col)
input_file_name ()unix_timestamp (timestamp = Немає, формат = 'yyyy-MM-dd HH: mm: ss')
instr (str, substr)верхній (кол)
Існан (кол)var_pop (col)
колін (кол)var_samp (col)
json_tuple (col, * поля)дисперсія (col)
куртоз (коль)weekofyear (col)
відставання (col, count = 1, за замовчуванням = None)коли (умова, значення)
останнє (col, ignorenulls = Хибне)вікно (timeColumn, windowDuration, slideDuration = None, startTime = None)
last_day (дата)рік (кол)
потенціал (кол, кількість = 1, за замовчуванням = немає)мінімум (* cols), освітлений (col)
довжина (кол)Левенштайн (зліва, справа)

pyspark.sql.types: Ці типи класів, які використовуються для перетворення типів даних. Використовуючи цей клас, SQL-об'єкт може бути перетворений у власний об’єкт Python.

  • pyspark.sql.streaming: Цей клас обробляє всі ті запити, які виконується, продовжуються у фоновому режимі. Всі ці методи, що використовуються в потоковому режимі, є бездержавними. Наведені вище вбудовані функції доступні для роботи з фреймами даних. Ці функції можна використовувати, посилаючись на бібліотеку функцій.
  • pyspark.sql.Window: Усі методи, передбачені цим класом, можуть бути використані при визначенні та роботі з Windows у DataFrames.

Висновок

Це один із інструментів, що застосовуються в галузі штучного інтелекту та машинного навчання. Його використовують все більше компаній для аналітики та машинного навчання. Кваліфіковані фахівці в ньому будуть користуватися більшим попитом у найближчому майбутньому.

Рекомендовані статті

Це посібник з PySpark SQL. Тут ми обговорюємо, що таке Pyspark SQL, його особливості, основні напрямки використання, модулі та вбудовані методи. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Іскровий DataFrame
  2. Питання інтерв'ю
  3. Функція дати SQL
  4. Заява SQL HAVING
  5. Apache Spark Архітектура з двома реалізаціями
  6. Як використовувати DISTINCT в Oracle?