Uvod u PySpark SQL

Neki početnici programeri ne bi bili svjesni PySpark SQL-a. Prije nego što prođemo kroz PySpark SQL, trebali bismo imati predstavu o tome što je Spark SQL. Počnimo s Spark SQL, To je modul Apache Spark. Spark SQL koristi se za rad sa strukturiranim podacima. PySpark SQL razvijen je za podršku Python-a u Spark-u.

PySpark SQL je suradnja Pythona sa Spark SQL-om. Uglavnom se koristi u obradi strukturiranih i polustrukturiranih podataka. API koji pruža pruža može čitati podatke iz velikog broja izvora & Ti izvori podataka mogu biti u različitim formatima podataka.

Što je PySpark SQL?

To je alat za podršku pythona s Spark SQL-om. Razvijen je da podržava Python in Spark. Za pravilno razumijevanje PySparka potrebno je znanje Python, Big Data & Spark. PySpark SQL polako dobiva na popularnosti kod programera baze podataka zbog svojih važnih značajki.

PySpark SQL djeluje na distribuiranom sustavu, a također je skalabilno zašto se on jako koristi u znanosti o podacima. U PySpark SQL Machine učenje pruža knjižnica python. Ova Python knjižnica poznata je kao biblioteka strojnog učenja.

Značajke PySpark SQL

Neke od važnih značajki PySpark SQL date su u nastavku:

  • Brzina: To je mnogo brže od tradicionalnih velikih okvira za obradu podataka poput Hadoopa.
  • Snažno predmemoriranje: PySpark pruža jednostavan programski sloj koji pomaže u predmemoriranju nego predmemoriranje ostalih okvira.
  • Real-time: Računanje u PySpark SQL-u odvija se u memoriji i zato je u stvarnom vremenu.
  • Uvođenje: može se implementirati putem Hadoopa ili vlastitog upravitelja klastera.
  • Poliglot: Podržava programiranje u Scala, Java, Python i R.

Koristi se u velikim podacima i tamo gdje postoji veliki podaci uključuju one povezane s analitikom podataka. To je najtoplije sredstvo na tržištu Big Data Analitike.

Glavne uporabe PySpark SQL-a

U nastavku su navedeni neki sektori u kojima se Pyspark koristi uglavnom:

Industrija e-trgovine

U industriji e-trgovine PySpark dodaje veliku ulogu. Koristi se u poboljšanju pristupačnosti korisnika, pružanju ponuda ciljanim kupcima, oglašavanju istinskim kupcima. Različite industrije e-trgovine kao što su eBay, Alibaba, Flipkart, Amazon, itd. Koriste ga za dobivanje istinskih podataka u marketinške svrhe.

media

Različite industrije pokretanja medija kao što su Youtube, Netflix, Amazon itd. Uglavnom koriste PySpark za obradu velikih podataka kako bi ga učinili dostupnim korisnicima. Ova obrada podataka odvija se u stvarnom vremenu sa aplikacijama na strani poslužitelja.

Bankarstvo

Bankarstvo je još jedan važan sektor u kojem se PySpark koristi na vrlo širokoj razini. Pomaže financijskom sektoru u obradi transakcija u stvarnom vremenu za milijun obrade zapisa, oglašavanje istinskim klijentima, procjena kreditnog rizika itd.

PySpark Moduli

Neke od važnih klasa i njihovih karakteristika date su u nastavku:

  • pyspark.sql.SparkSession: Ova klasa omogućava programerima da programiraju u programu Spark pomoću DataFrame i SQL funkcionalnosti. SparkSession koristi se za izradu DataFrame-a, registrira DataFrame kao tablice, predmemorira tablice, izvršava SQL preko tablica.
  • pyspark.sql.DataFrame: Klasa DataFrame igra važnu ulogu u distribuiranoj zbirci podataka. Ti se podaci grupiraju u imenovane stupce. Spark SQL DataFrame sličan je tablici relacijskih podataka. DataFrame se može stvoriti korištenjem metoda SQLContext.
  • pyspark.sql.Columns: Primjeri stupca u DataFrameu mogu se stvoriti pomoću ove klase.
  • pyspark.sql.Row: Redak u DataFrameu može se stvoriti pomoću ove klase.
  • pyspark.sql.GroupedData: Klasa GroupedData osigurava metode združivanja koje je stvorio groupBy ().
  • pyspark.sql.DataFrameNaFunctions: Ova klasa pruža funkcionalnost za rad s podacima koji nedostaju.
  • pyspark.sql.DataFrameStatFunctions: Statističke funkcije dostupne su s DataFrames of Spark SQL. Ovakva klasa osigurava funkcionalnosti statističkih funkcija.
  • pyspark.sql.functions: Mnoge ugrađene funkcije u Spark dostupne su za rad s DataFrames. Neke od ugrađenih funkcija date su u nastavku:
Ugrađene metodeUgrađene metode
abs (stupac)locirati (substr, str, pos = 1)
acos (stupac)zapisnik (arg1, arg2 = nijedan)
add_months (početak, mjeseci)log10 (stupac)
ApproCountDistinct (col, res = nijedan)log1p (stupac)
array ((stupaca))log2 (stupac)
array_contains (col, vrijednost)niži (stupac)
ASC (stupac)ltrim (stupac)
ASCII (stupac)max (stupac)
Asin (stupac)MD5 (stupac)
atansredina (stupac)
ATAN2min (stupac)
prosjekminuta (col)
Base64monotonically_increasing_id ()
kantamjesec (col)
bitwiseNotmjeseci_između (datum1, datum2)
emitiranjenanvl (col1, col2)
Broundnext_day (datum, danOfWeek)
cbrtntile (n)
staviti stroppercent_rank ()
srasti ((stupac))posexplode (stupac)
stupac (stupac)pow (col1, col2)
collect_list (stupac)četvrtina (col)
collect_set (stupac)radians (stupac)
stupcu (stupac)Rand (sjeme = Ništa
CONCAT (*) stupacarandn (sjeme = Ništa)
concat_ws (sep, * kol)rang()
conv (col, odBase, toBase)regexp_extract (str, uzorak, idx)
corr (col1, col2)regexp_replace (str, obrazac, zamjena)
cos (stupac)ponoviti (col, n)
blackjack (stupac)obrnuti (stupac)
strani (stupac)spis (stupac)
countDistinct (col, * cols)okrugli (col, mjerilo = 0)
covar_pop (col1, col2)ROW_NUMBER ()
covar_samp (col1, col2)rpad (col, len, jastučić)
crc32 (stupac)rtrim (stupac)
create_map (* stupaca)Drugi (stupac)
cume_dist ()SHA1 (stupac)
trenutni datum()sha2 (col, numBits)
current_timestamp ()shiftLeft (col, numBits)
date_add (početak, dani)shiftRight (col, numBits)
date_format (datum, format)shiftRightUnsigned (col, numBits)
date_sub (početak, dani)Lozinka (stupac)
dateiff (kraj, početak)sin (stupac)
dayofmonth (stupac)sinh (stupac)
dayofyear (stupac)Veličina (stupac)
dekodirati (col, charset)asimetrija (stupac)
stupnjevi (stupac)sort_array (col, asc = istina)
dense_rank ()Soundex (stupac)
Opis (stupac)spark_partition_id ()
kodirati (col, charset)split (str, pattern)
exp (stupac)sqrt (stupac)
eksplodirati (stupac)stddev (stupac)
expm1 (stupac)stddev_pop (stupac)
Expr (STR)stddev_samp (stupac)
faktorijel (stupac)Struct (* stupaca)
prvo (col, ignorenulls = Lažno)pod string (str, pos, len)
kat (col)substring_index (str, razgraniči, broji)
format_broj (col, d)zbroj (stupac)
format_string (format, * cols)sumDistinct (stupac)
from_json (col, shema, opcije = ())tan (stupac)
from_unixtime (vremenska oznaka, format = 'gggg-MM-dd HH: mm: ss')toDegrees (stupac)
from_utc_timestamp (vremenska oznaka, tz)toRadians (stupac)
get_json_object (col, staza)TO_DATE (stupac)
Najveći broj stupaca (*)to_json (col, opcije = ())
grupiranje (stupac)to_utc_timestamp (vremenska oznaka, tz)
grouping_id (*) stupacaprevesti (srcCol, podudaranje, zamjena)
ljestve (*) stupacaobloge (stupac)
hex (stupaca)trunc (datum, format)
sat (stupac)udf (f, returnType = StringType)
hipota (col1, col2)unbase64 (stupac)
initcap (stupac)unhex (stupac)
input_file_name ()unix_timestamp (timestamp = nijedan, format = 'gggg-MM-dd HH: mm: ss')
instr (str, substr)Gornji (stupac)
isnan (stupac)var_pop (stupac)
isnull (stupac)var_samp (stupac)
json_tuple (col, * polja)varijance (stupac)
Kurtosis (stupac)weekofyear (stupac)
zaostajanje (col, broj = 1, zadano = nijedan)kada (uvjet, vrijednost)
last (col, ignorenulls = netočno)prozor (timeColumn, windowDuration, slideDuration = Nema, startTime = None)
LAST_DAY (datum)godine (col)
potencijalni (col, broj = 1, zadani = nijedan)najmanje (* cols), upaljeno (col)
Dužina (stupac)Levenshtein (lijevo, desno)

pyspark.sql.types: Ove vrste klase koje se koriste u pretvorbi vrsta podataka. Pomoću ove klase SQL objekt može se pretvoriti u nativni objekt Python.

  • pyspark.sql.streaming: Ova klasa obrađuje sve one upite koji se izvršavaju nastavlja se u pozadini. Sve ove metode koje se koriste u strujanju su bez državljanstva. Gore navedene ugrađene funkcije dostupne su za rad s podatkovnim okvirima. Te se funkcije mogu koristiti ako se upute knjižnici funkcija.
  • pyspark.sql.Window: Sve metode koje pruža ova klasa mogu se koristiti u definiranju i radu s prozorima u DataFrames-u.

Zaključak

To je jedan od alata koji se koriste u području umjetne inteligencije i strojnog učenja. Sve više tvrtki koristi je za analitiku i strojno učenje. Kvalificirani profesionalci u njoj će u narednoj budućnosti imati više potražnje.

Preporučeni članci

Ovo je vodič za PySpark SQL. Ovdje ćemo raspraviti što je pyspark SQL, njegove značajke, glavne namjene, moduli i ugrađene metode. Možete pogledati i sljedeće članke da biste saznali više -

  1. Spark DataFrame
  2. Spark Intervju Pitanja
  3. Funkcija datuma SQL-a
  4. Klauzula SQL HAVING
  5. Apache varna arhitektura s dvije izvedbe
  6. Kako koristiti DISTINCT u Oracleu?

Kategorija: