Введение в PySpark SQL

Некоторые из начинающих программистов не будут знать о PySpark SQL. Прежде чем перейти к PySpark SQL, у нас должно быть представление о том, что такое Spark SQL. Начнем с Spark SQL, это модуль Apache Spark. Spark SQL используется для работы со структурированными данными. PySpark SQL разработан для поддержки Python в Spark.

PySpark SQL - это сотрудничество Python с Spark SQL. В основном используется при обработке структурированных и полуструктурированных данных. Предоставляемый им API может считывать данные из большого числа источников. Эти источники данных могут быть в разных форматах данных.

Что такое PySpark SQL?

Это инструмент для поддержки Python с Spark SQL. Он разработан для поддержки Python в Spark. Для правильного понимания PySpark необходимы знания Python, Big Data и Spark. PySpark SQL постепенно набирает популярность у программистов баз данных из-за его важных функций.

PySpark SQL работает в распределенной системе и поэтому масштабируем, поэтому он активно используется в науке о данных. В PySpark SQL Machine обучение обеспечивается библиотекой python. Эта библиотека Python известна как библиотека машинного обучения.

Особенности PySpark SQL

Некоторые важные функции PySpark SQL приведены ниже:

  • Скорость: это намного быстрее, чем в традиционных средах обработки больших данных, таких как Hadoop.
  • Мощное кэширование: PySpark предоставляет простой программный уровень, который помогает в кэшировании, чем другие фреймворки.
  • В режиме реального времени: вычисления в PySpark SQL происходят в памяти, поэтому они выполняются в режиме реального времени.
  • Развертывание: может развертываться через Hadoop или собственный менеджер кластера.
  • Polyglot: поддерживает программирование на Scala, Java, Python и R.

Он используется в Больших данных, а там, где есть Большие, данные связаны с аналитикой данных. Это самый популярный инструмент на рынке аналитики больших данных.

Основные применения 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 Spark SQL. Функциональность статистических функций обеспечивается этим классом.
  • pyspark.sql.functions: многие встроенные функции в Spark доступны для работы с DataFrames. Некоторые из встроенных функций приведены ниже:
Встроенные методыВстроенные методы
абс (COL)locate (substr, str, pos = 1)
экоса (COL)log (arg1, arg2 = нет)
add_months (начало, месяцы)log10 (COL)
приблизительноCountDistinct (col, res = нет)log1p (COL)
Массив ((перевалы))log2 (COL)
array_contains (столбец, значение)ниже (COL)
по возрастанию (COL)LTRIM (COL)
ASCII (COL)макс (COL)
ASIN (COL)md5 (COL)
загарсредний (COL)
atan2мин (COL)
средниймин (цв)
base64monotonically_increasing_id ()
бункермесяц (цв)
bitwiseNotмесяцы между (дата 1, дата 2)
Broadcastnanvl (col1, col2)
Broundследующий день (дата, день недели)
cbrtNTILE (п)
перекрыватьpercent_rank ()
COALESCE ((COL))posexplode (COL)
Col (COL)Pow (col1, col2)
collect_list (COL)четверть (цв)
collect_set (COL)радиан (COL)
колонка (COL)не Rand (начальное число = None
Concat (* перевалы)randn (начальное число = нет)
concat_ws (sep, * col)ранг()
conv (col, fromBase, toBase)regexp_extract (str, pattern, idx)
corr (col1, col2)regexp_replace (str, pattern, замена)
сов (COL)повторить (кол, н)
сп (COL)обратный (COL)
кол (COL)ечать (COL)
countDistinct (col, * cols)круглый (цв, масштаб = 0)
covar_pop (col1, col2)row_number ()
covar_samp (col1, col2)rpad (col, len, pad)
CRC32 (COL)RTRIM (COL)
create_map (* COLS)второй (COL)
cume_dist ()SHA1 (COL)
текущая дата()sha2 (col, numBits)
CURRENT_TIMESTAMP ()shiftLeft (col, numBits)
date_add (начало, дни)shiftRight (col, numBits)
date_format (дата, формат)shiftRightUnsigned (col, numBits)
date_sub (начало, дни)сигнум (COL)
дата (конец, начало)грех (цв)
DayOfMonth (COL)зп (COL)
DayOfYear (COL)размер (COL)
раскодировать (col, charset)перекос (COL)
градусов (COL)sort_array (col, asc = True)
DENSE_RANK ()SOUNDEX (COL)
по убыванию (COL)spark_partition_id ()
кодировать (col, charset)сплит (ул, шаблон)
ехр (COL)SQRT (COL)
взрываются (COL)StdDev (COL)
expm1 (COL)stddev_pop (COL)
выражение (ул)stddev_samp (COL)
факториала (COL)STRUCT (* COLS)
первый (col, ignorenulls = False)подстрока (str, pos, len)
этаж (цв)substring_index (str, delim, count)
format_number (col, d)сумма (COL)
format_string (format, * cols)sumDistinct (COL)
from_json (столбец, схема, параметры = ())тангенс (COL)
from_unixtime (отметка времени, формат = 'гггг-мм-дд чч: мм: сс')toDegrees (COL)
from_utc_timestamp (отметка времени, tz)toRadians (COL)
get_json_object (col, path)to_date (COL)
Величайшие (* перевалы)to_json (col, options = ())
группировка (COL)to_utc_timestamp (отметка времени, tz)
GROUPING_ID (* перевалы)перевод (srcCol, сопоставление, замена)
хэш (* перевалы)облицовка (цв)
шестигранный (перевалы)усечение (дата, формат)
час (COL)udf (f, returnType = StringType)
гипот (col1, col2)unbase64 (COL)
initcap (COL)unhex (COL)
input_file_name ()unix_timestamp (отметка времени = нет, формат = 'гггг-мм-дд чч: мм: сс')
instr (str, substr)верхняя (COL)
IsNaN (COL)var_pop (COL)
IsNull (COL)var_samp (COL)
json_tuple (col, * fields)дисперсия (COL)
эксцесс (COL)weekofyear (COL)
лаг (кол, кол = 1, по умолчанию = нет)когда (условие, значение)
последний (col, ignorenulls = False)window (timeColumn, windowDuration, slideDuration = Нет, startTime = Нет)
LAST_DAY (дата)год (цв)
привести (кол, кол = 1, по умолчанию = нет)минимум (* кол), горит (кол)
длина (COL)Левенштейн (слева, справа)

pyspark.sql.types: эти типы классов используются при преобразовании типов данных. Используя этот класс, объект SQL может быть преобразован в собственный объект Python.

  • pyspark.sql.streaming: этот класс обрабатывает все те запросы, которые выполняются, продолжаются в фоновом режиме. Все эти методы, используемые в потоковой передаче, не сохраняют состояния. Указанные выше встроенные функции доступны для работы с фреймами данных. Эти функции можно использовать, обратившись к библиотеке функций.
  • pyspark.sql.Window: все методы, предоставляемые этим классом, могут использоваться при определении и работе с окнами в DataFrames.

Вывод

Это один из инструментов, используемых в области искусственного интеллекта и машинного обучения. Он используется все большим количеством компаний для аналитики и машинного обучения. Опытные специалисты в нем будут пользоваться все большим спросом в будущем.

Рекомендуемые статьи

Это руководство по PySpark SQL. Здесь мы обсудим, что такое pyspark SQL, его особенности, основные области применения, модули и встроенные методы. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. Spark DataFrame
  2. Спарк Интервью Вопросы
  3. Функция даты SQL
  4. SQL HAVING пункт
  5. Архитектура Apache Spark с двумя реализациями
  6. Как использовать DISTINCT в Oracle?