Въведение в 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 in Spark. За правилното разбиране на PySpark са необходими познания за Python, Big Data & Spark. PySpark SQL бавно набира популярност в програмистите на базата данни поради важните си характеристики.

PySpark SQL работи върху разпределената система и е също така мащабируемо, че защо се използва широко в науката за данни. В PySpark SQL машинно обучение се осигурява от библиотеката python. Тази библиотека Python е известна като библиотека за машинно обучение.

Характеристики на PySpark SQL

Някои от важните характеристики на PySpark SQL са дадени по-долу:

  • Скорост: Тя е много по-бърза от традиционните големи рамки за обработка на данни като Hadoop.
  • Мощен кешинг : PySpark осигурява прост програмен слой, който помага в кеширането, отколкото кеширането на други рамки.
  • В реално време: Изчисляването в PySpark SQL се извършва в паметта, затова е в реално време.
  • Разгръщане: Може да се разгърне чрез 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 на Spark SQL. Функционалността на статистическите функции се осигурява от този клас.
  • pyspark.sql.functions: Много вградени функции в Spark са достъпни за работа с DataFrames. Някои от вградените функции са дадени по-долу:
Вградени методиВградени методи
абсолютен (колона)намерете (substr, str, pos = 1)
ACOS (колона)лог (arg1, arg2 = няма)
add_months (начало, месеци)log10 (колона)
приблизителноCountDistinct (col, res = няма)log1p (колона)
масив ((колони))log2 (колона)
array_contains (col, стойност)нисш (колона)
възходящо (колона)ltrim (колона)
ASCII (колона)макс (колона)
ASIN (колона)md5 (колона)
тенСредният (колона)
ATAN2минути (колона)
срминути (колона)
base64monotonically_increasing_id ()
кофа за боклукмесец (колона)
bitwiseNotмесеци между (дата1, дата2)
Предаванияnanvl (col1, col2)
Broundnext_day (дата, денOfWeek)
cbrtntile (п)
достигам пределна точкаpercent_rank ()
обединяват ((колона))posexplode (колона)
колона (колона)прах (col1, col2)
collect_list (колона)четвърт (колона)
collect_set (колона)радиани (колона)
колона (колона)ранд (семена = Няма
Concat (* колони)randn (семена = Няма)
concat_ws (sep, * col)ранг ()
conv (col, отBase, toBase)regexp_extract (str, модел, idx)
corr (col1, col2)regexp_replace (str, модел, подмяна)
COS (колона)повторение (col, n)
палка (колона)обратнофазова (колона)
брои (колона)ечат (колона)
countDistinct (col, * cols)кръг (col, мащаб = 0)
covar_pop (col1, col2)ROW_NUMBER ()
covar_samp (col1, col2)rpad (col, len, тампон)
crc32 (колона)RTRIM (колона)
create_map (* колони)втората (колона)
cume_dist ()sha1 (колона)
текуща дата()sha2 (col, numBits)
current_timestamp ()shiftLeft (col, numBits)
date_add (начало, дни)shiftRight (col, numBits)
date_format (дата, формат)shiftRightUnsigned (col, numBits)
date_sub (начало, дни)Signum (колона)
dateiff (край, начало)грях (колона)
dayofmonth (колона)Sinh (колона)
dayofyear (колона)размер (колона)
декодиране (col, charset)асиметрия (колона)
градуса (колона)sort_array (col, asc = True)
dense_rank ()Soundex (колона)
низходящо (колона)spark_partition_id ()
кодиране (кол, charset)разделяне (str, модел)
ехр (колона)SQRT (колона)
взривят (колона)StdDev (колона)
expm1 (колона)stddev_pop (колона)
ИЗРАЗът (ул)stddev_samp (колона)
факторен (колона)Struct (* колони)
първо (col, ignorenulls = Грешно)подреда (str, pos, len)
етаж (колона)substring_index (str, delim, count)
format_number (col, d)сума (колона)
format_string (формат, * cols)sumDistinct (колона)
from_json (col, схема, опции = ())тен (колона)
from_unixtime (времева марка, формат = 'yyyy-MM-dd HH: mm: ss')toDegrees (колона)
from_utc_timestamp (времева марка, tz)toRadians (колона)
get_json_object (col, път)TO_DATE (колона)
големите (* колони)to_json (col, опции = ())
групиране (колона)to_utc_timestamp (времева марка, tz)
grouping_id (* колони)превод (srcCol, съвпадение, замяна)
хеш (* колони)тапицерия (колона)
хекс (колони)trunc (дата, формат)
час (колона)udf (f, returnType = StringType)
хипот (col1, col2)unbase64 (колона)
initcap (колона)unhex (колона)
input_file_name ()unix_timestamp (timestamp = Няма, формат = 'yyyy-MM-dd HH: mm: ss')
instr (str, substr)горната (колона)
isnan (колона)var_pop (колона)
isnull (колона)var_samp (колона)
json_tuple (col, * полета)вариацията (колона)
ексцес (колона)weekofyear (колона)
изоставане (col, брой = 1, по подразбиране = Няма)кога (условие, стойност)
последно (col, ignorenulls = Грешно)прозорец (timeColumn, windowDuration, slideDuration = None, startTime = None)
LAST_DAY (дата)година (колона)
олово (кол, брой = 1, по подразбиране = Няма)най-малко (* cols), осветено (col)
дължина (колона)Левенщайн (вляво, вдясно)

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

  • pyspark.sql.streaming: Този клас обработва всички онези заявки, които се изпълняват, продължават на заден план. Всички тези методи, използвани в стрийминга, са без гражданство. Посочените по-горе вградени функции са достъпни за работа с DataFrames. Тези функции могат да се използват, като се позовават на библиотеката с функции.
  • pyspark.sql.Window: Всички методи, предоставени от този клас, могат да се използват при дефиниране и работа с Windows в DataFrames.

заключение

Това е един от инструментите, използвани в областта на изкуствения интелект и машинното обучение. Използва се от все повече компании за анализи и машинно обучение. Квалифицираните специалисти в него ще имат по-голямо търсене в близкото бъдеще.

Препоръчителни статии

Това е ръководство за PySpark SQL. Тук обсъждаме какво е Pyspark SQL, неговите функции, основни приложения, модули и вградени методи. Можете също да разгледате следните статии, за да научите повече -

  1. Spark DataFrame
  2. Искрови въпроси за интервю
  3. SQL Дата функция
  4. Клауза за SQL HAVING
  5. Apache Spark Architecture с две изпълнения
  6. Как да използвате DISTINCT в Oracle?