Úvod do PySpark SQL

Niektorí noví programátori by nevedeli o PySpark SQL. Predtým, ako najprv prejdeme PySpark SQL, mali by sme mať predstavu o tom, čo je to Spark SQL. Začnime s Spark SQL, je to modul Apache Spark. Spark SQL používal na prácu so štruktúrovanými údajmi. PySpark SQL je vyvinutý na podporu Pythonu v programe Spark.

PySpark SQL je spolupráca Pythonu s programom Spark SQL. Používa sa hlavne pri spracovaní štruktúrovaných a pološtrukturovaných údajov. Rozhranie API, ktoré poskytuje, dokáže čítať údaje z veľkého počtu zdrojov. Tieto zdroje údajov môžu byť v rôznych formátoch údajov.

Čo je PySpark SQL?

Je to nástroj na podporu pythonu pomocou programu Spark SQL. Je vyvinutý na podporu Pythonu v programe Spark. Pre správne pochopenie PySparku sú potrebné znalosti Pythonu, Big Data & Spark. PySpark SQL si vďaka svojim dôležitým funkciám pomaly získava na popularite v programátoroch databáz.

PySpark SQL pracuje na distribuovanom systéme a je tiež škálovateľné, prečo sa preto používa vo vede údajov. V PySparku SQL Machine učenie poskytuje knižnica python. Táto knižnica Pythonu sa nazýva knižnica strojového učenia.

Funkcie PySpark SQL

Niektoré dôležité vlastnosti PySpark SQL sú uvedené nižšie:

  • Rýchlosť: Je oveľa rýchlejšia ako tradičné rámce na spracovanie veľkých dát, ako je napríklad Hadoop.
  • Výkonné ukladanie do vyrovnávacej pamäte: PySpark poskytuje jednoduchú programovaciu vrstvu, ktorá pomáha pri ukladaní do vyrovnávacej pamäte, než ukladanie do pamäte ostatných rámcov.
  • Real-Time: Výpočet v PySparku SQL prebieha v pamäti, preto je to v reálnom čase.
  • Nasadenie: Môže sa nasadiť prostredníctvom manažéra klastrov Hadoop alebo vlastného manažéra klastrov.
  • Polyglot: Podporuje programovanie v programoch Scala, Java, Python a R.

Používa sa pri veľkých údajoch a tam, kde sú veľké údaje, sa týkajú údajovej analytiky. Je to najhorúcejší nástroj na trhu analýzy veľkých dát.

Hlavné použitia PySpark SQL

Nižšie sú uvedené niektoré sektory, v ktorých sa Pyspark používa vo väčšine:

Elektronický obchod

V odvetví elektronického obchodu hrá PySpark významnú úlohu. Používa sa pri zlepšovaní prístupnosti používateľov, pri poskytovaní ponúk cieleným zákazníkom, pri reklame skutočným zákazníkom. Rôzne odvetvia elektronického obchodu ako eBay, Alibaba, Flipkart, Amazon atď. Ich používajú na získanie originálnych údajov na marketingové účely.

Media

Rôzne odvetvia riadenia médií, ako sú Youtube, Netflix, Amazon atď., Používajú PySpark vo väčšine prípadov na spracovanie veľkých dát, aby boli dostupné pre používateľov. Toto spracovanie údajov prebieha v reálnom čase pre aplikácie na strane servera.

bankovníctvo

Bankovníctvo je ďalším dôležitým sektorom, v ktorom sa PySpark využíva na veľmi vysokej úrovni. Pomáha finančnému sektoru spracovať transakcie v reálnom čase pre milión spracovaní záznamov, reklamu skutočným zákazníkom, hodnotenie úverového rizika atď.

Moduly PySpark

Niektoré dôležité triedy a ich vlastnosti sú uvedené nižšie:

  • pyspark.sql.SparkSession: Táto trieda umožňuje programátorom programovať v programe Spark s funkciami DataFrame a SQL. SparkSession slúži na vytvorenie DataFrame, registráciu DataFrame ako tabuliek, vyrovnávacích tabuliek, vykonanie SQL cez tabuľky.
  • pyspark.sql.DataFrame: Trieda DataFrame hrá dôležitú úlohu v distribuovanom zhromažďovaní údajov. Tieto údaje boli zoskupené do pomenovaných stĺpcov. Spark SQL DataFrame je podobný tabuľky relačných údajov. Dátový rámec možno vytvoriť pomocou metód SQLContext.
  • pyspark.sql.Columns: Inštancie stĺpcov v DataFrame je možné vytvoriť pomocou tejto triedy.
  • pyspark.sql.Row: Pomocou tejto triedy je možné vytvoriť riadok v DataFrame.
  • pyspark.sql.GroupedData: GroupedData trieda poskytuje agregačné metódy vytvorené groupBy ().
  • pyspark.sql.DataFrameNaFunctions: Táto trieda poskytuje funkčnosť pre prácu s chýbajúcimi údajmi.
  • pyspark.sql.DataFrameStatFunctions: Štatistické funkcie sú dostupné s dátovými rámcami Spark SQL. Funkčnosť štatistických funkcií poskytuje táto trieda.
  • pyspark.sql.functions: Mnoho zabudovaných funkcií v Spark je k dispozícii pre prácu s DataFrames. Niektoré z vstavaných funkcií sú uvedené nižšie:
Vstavané metódyVstavané metódy
abs (sl)vyhľadajte (subst, str, pos = 1)
ACOS (sl)log (arg1, arg2 = None)
add_months (začiatok, mesiace)log10 (sl)
ccaCountDistinct (col, res = none)log1p (sl)
poľa ((sl))log2 (sl)
array_contains (col, value)nižšia (sl)
asc (sl)LTrim (sl)
ascii (sl)max (sl)
asin (sl)MD5 (sl)
opáleniePriemerná (sl)
ATAN2min (sl)
avgminúta (sl)
base64monotonically_increasing_id ()
popolnicemesiac (col)
bitwiseNotmonths_between (date1, date2)
Broadcastnanvl (col1, col2)
Broundnasledujúci deň (dátum, deňObecný týždeň)
Cbrtntil (n)
opatriť stropompercent_rank ()
COALESCE ((sl))posexplode (sl)
col (sl)pow (col1, col2)
collect_list (sl)Štvrtina (col)
collect_set (sl)radiány (sl)
stĺpec (sl)Rand (semená = Žiadne
concat (* sl)randn (semená = Žiadne)
concat_ws (sep, * col)rank ()
conv (col, fromBase, toBase)regexp_extract (str, pattern, idx)
corr (col1, col2)regexp_replace (str, pattern, náhradné)
cos (col)opakovať (col, n)
cosh (sl)reverznej (sl)
Počet (col)Rinti (sl)
countDistinct (col, * cols)kolo (stĺpec, mierka = 0)
covar_pop (col1, col2)ROW_NUMBER ()
covar_samp (col1, col2)rpad (col, len, pad)
CRC32 (sl)RTrim (sl)
create_map (* cols)Druhý (sl)
cume_dist ()SHA1 (sl)
aktuálny dátum()sha2 (col, numBits)
CURRENT_TIMESTAMP ()shiftLeft (col, numBits)
date_add (začiatok, dni)shiftRight (col, numBits)
date_format (dátum, formát)shiftRightPrihlásený (col, numBits)
date_sub (začiatok, dni)signum (sl)
datovanýiff (koniec, začiatok)sin (col)
dayofmonth (sl)sinh (sl)
dayofyear (sl)Veľkosť (sl)
dekódovať (col, charset)šikmosť (sl)
stupňa (sl)sort_array (col, asc = True)
dense_rank ()SOUNDEX (sl)
zostupne (sl)spark_partition_id ()
kódovať (col, charset)rozdeliť (str, vzor)
exp (sl)sqrt (sl)
explodovať (sl)stddev (sl)
expm1 (sl)stddev_pop (sl)
expr (str)stddev_samp (sl)
faktoriálový (sl)struct (* cols)
prvý (col, ignorenulls = False)podreťazec (str, pos, len)
podlaha (sl)substing_index (str, delim, count)
format_number (col, d)súčet (sl)
format_string (format, * cols)sumDistinct (sl)
from_json (col, schema, options = ())tan (sl)
from_unixtime (timestamp, format = 'rrrr-MM-dd HH: mm: ss')toDegrees (sl)
from_utc_timestamp (timestamp, tz)toRadians (sl)
get_json_object (col, path)TO_DATE (sl)
Najväčší (* sl)to_json (col, options = ())
zoskupenia (sl)to_utc_timestamp (timestamp, tz)
grouping_id (* sl)prekladať (srcCol, párovanie, nahrádzanie)
hash (* sl)trim (col)
hex (sl)trunc (dátum, formát)
hodina (sl)udf (f, returnType = StringType)
hypotéka (col1, col2)unbase64 (sl)
initcap (sl)unhex (sl)
input_file_name ()unix_timestamp (timestamp = None, format = 'yyyy-MM-dd HH: mm: ss')
nástroje (str, subst)Horný (sl)
isNaN (sl)var_pop (sl)
IsNull (sl)var_samp (sl)
json_tuple (col, * fields)variance (col)
špicatosti (sl)weekofyear (sl)
oneskorenie (col, count = 1, default = None)kedy (stav, hodnota)
posledný (col, ignorenulls = False)window (timeColumn, windowDuration, slideDuration = None, startTime = None)
last_day (dátum)rok (col)
lead (col, count = 1, default = None)najmenej (* stĺpce), rozsvietené (stĺpec)
Dĺžka (sl)levenshtein (vľavo, vpravo)

pyspark.sql.types: Tieto typy tried používané pri konverzii typov údajov. Pomocou tejto triedy je možné SQL objekt previesť na natívny Python objekt.

  • pyspark.sql.streaming: Táto trieda spracováva všetky tie dotazy, ktoré sa vykonávajú, pokračuje na pozadí. Všetky tieto metódy používané v streamovaní sú bez štátnej príslušnosti. Vyššie uvedené vstavané funkcie sú k dispozícii na prácu s dátovými rámami. Tieto funkcie možno použiť odkazom na knižnicu funkcií.
  • pyspark.sql.Window: Všetky metódy poskytované touto triedou sa dajú použiť pri definovaní a práci s oknami v DataFrames.

záver

Je to jeden z nástrojov používaných v oblasti umelej inteligencie a strojového učenia. Používa sa čoraz viac spoločností na analýzu a strojové učenie. Kvalifikovaní odborníci v nej budú v nadchádzajúcej budúcnosti potrebovať viac.

Odporúčané články

Toto je sprievodca PySpark SQL. Tu diskutujeme o tom, čo je Pyspark SQL, jeho vlastnosti, hlavné použitia, moduly a vstavané metódy. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Spark DataFrame
  2. Spark Interview Otázky
  3. SQL Date Function
  4. Klauzula SQL HAVING
  5. Apache Spark Architecture s dvoma implementáciami
  6. Ako používať DISTINCT v Oracle?