Uvod v PySpark SQL

Nekateri začetniki programerji se PySpark SQL ne bi zavedali. Preden gremo najprej skozi PySpark SQL, bi morali imeti predstavo o tem, kaj je Spark SQL. Začnimo s Spark SQL, to je modul Apache Spark. Spark SQL se uporablja za delo s strukturiranimi podatki. PySpark SQL je razvit za podporo Python-u v iskri.

PySpark SQL je sodelovanje Pythona s Spark SQL. V glavnem se uporablja pri obdelavi strukturiranih in polstrukturiranih podatkov. API, ki ga ponuja, lahko bere podatke iz večjega števila virov. Ti viri podatkov so lahko v različnih oblikah podatkov.

Kaj je PySpark SQL?

To je orodje za podporo pythona s Spark SQL. Razvit je za podporo Python in Spark. Za pravilno razumevanje PySparka je potrebno znanje Python, Big Data & Spark. PySpark SQL počasi pridobiva priljubljenost pri programerjih baz podatkov zaradi svojih pomembnih lastnosti.

PySpark SQL deluje na porazdeljenem sistemu in je tudi skalabilno, zakaj se močno uporablja v podatkovni znanosti. V PySpark SQL Machine omogoča knjižnica python. Ta knjižnica Python je znana kot knjižnica strojnega učenja.

Značilnosti PySpark SQL

Spodaj so podane nekatere pomembne lastnosti PySpark SQL:

  • Hitrost: Je veliko hitrejša od tradicionalnih velikih okvirov za obdelavo podatkov, kot je Hadoop.
  • Zmogljiv predpomnilnik: PySpark ponuja preprost programski sloj, ki pomaga pri predpomnjenju kot predpomnjenje drugih okvirov.
  • Real-time: računanje v PySpark SQL poteka v pomnilniku, zato je v realnem času.
  • Umestitev: Lahko se uporabi prek Hadoopa ali lastnega upravitelja grozdov.
  • Poliglot: Podpira programiranje v Scali, Java, Python in R.

Uporablja se v velikih podatkih in kjer obstaja Big data vključuje tiste, povezane z analitiko podatkov. Je najbolj vroče orodje na trgu Big Data Analytics.

Glavne uporabe PySpark SQL

Spodaj so navedeni nekateri sektorji, v katerih se Pyspark uporablja v večini:

Industrija e-trgovine

V industriji e-trgovine ima PySpark veliko vlogo. Uporablja se za izboljšanje uporabniške dostopnosti, zagotavljanje ponudb ciljnim strankam, oglaševanje pristnim strankam. Različne panoge e-trgovine, kot so eBay, Alibaba, Flipkart, Amazon, itd., Ga uporabljajo za pridobitev resničnih podatkov za tržne namene.

Mediji

Različne panoge, ki poganjajo medije, kot so Youtube, Netflix, Amazon itd. V večini uporabljajo PySpark za obdelavo velikih podatkov, da bi jih dali na voljo uporabnikom. Ta obdelava podatkov poteka v realnem času do aplikacij na strani strežnika.

Bančništvo

Bančništvo je še en pomemben sektor, kjer se PySpark uporablja na zelo široki ravni. Finančnemu sektorju pomaga obdelati transakcije v realnem času za milijon obdelave zapisov, oglaševanja pristnim strankam, ocene kreditnega tveganja itd.

PySpark Moduli

Spodaj so navedeni nekateri pomembni razredi in njihove značilnosti:

  • pyspark.sql.SparkSession: Ta razred programerjem omogoča programiranje v programu Spark s funkcijo DataFrame in SQL. SparkSession, ki se uporablja za ustvarjanje DataFrame, registriranje DataFrame kot tabele, predpomnilne tabele, izvaja SQL nad tabelami.
  • pyspark.sql.DataFrame: Razred DataFrame igra pomembno vlogo pri porazdeljeni zbirki podatkov. Ti podatki so združeni v imenovane stolpce. Spark SQL DataFrame je podoben tabeli relacijskih podatkov. DataFrame je mogoče ustvariti z metodami SQLContext.
  • pyspark.sql. Column: S tem razredom je mogoče ustvariti primere stolpcev v DataFrame.
  • pyspark.sql.Row: V tem razredu je mogoče ustvariti vrstico v DataFrame.
  • pyspark.sql.GroupedData: Razred GroupedData zagotavlja metode združevanja, ki jih je ustvaril groupBy ().
  • pyspark.sql.DataFrameNaFunctions: Ta razred zagotavlja funkcionalnost za delo z manjkajočimi podatki.
  • pyspark.sql.DataFrameStatFunctions: Statistične funkcije so na voljo s DataFrames of Spark SQL. Ta razred zagotavlja funkcionalnost statističnih funkcij.
  • pyspark.sql.functions: Za delo s DataFrames je na voljo veliko vgrajenih funkcij v Spark. Nekatere vgrajene funkcije so podane spodaj:
Vgrajene metodeVgrajene metode
abs (col)poišči (substr, str, pos = 1)
acos (col)dnevnik (arg1, arg2 = nič)
add_months (začetek, meseci)log10 (col)
približnoCountDistinct (col, res = noben)log1p (col)
matrika ((cols))log2 (col)
array_contains (col, vrednost)spodnja (col)
asc (col)ltrim (col)
ascii (col)max (col)
asin (col)md5 (col)
atansrednje (kolo)
atan2min (col)
povprečjeminuta (kolo)
baza64monotonically_increasing_id ()
košaramesec (col)
bitwiseNemesecev med datumom (datum1, datum2)
Oddajananvl (col1, col2)
Broundnext_day (datum, danOfWeek)
cbrtntile (n)
stropodstotek_rank ()
coalesce ((col))posexplode (col)
col (col)Pow (col1, col2)
collection_list (col)četrtina (col)
collection_set (col)radiani (col)
stolpec (stolpec)rand (seme = noben
concat (* cols)randn (seme = nič)
concat_ws (sep, * stol)čin ()
conv (col, odBase, toBase)regexp_extract (str, vzorec, idx)
corr (col1, col2)regexp_replace (str, vzorec, zamenjava)
cos (col)ponovite (col, n)
cosh (col)vzvratno (col)
štetje (col)rint (col)
countDistinct (col, * cols)okroglo (col, lestvica = 0)
covar_pop (col1, col2)vrstica_številka ()
covar_samp (col1, col2)rpad (col, len, blazinica)
crc32 (col)rtrim (col)
create_map (* cols)sekunda (col)
cume_dist ()sha1 (col)
Trenutni datum()sha2 (col, numBits)
current_timestamp ()shiftLeft (col, številoBits)
datum_add (začetek, dnevi)shiftRight (col, številoBits)
datum_format (datum, oblika)shiftRightUnsigned (col, numBits)
date_sub (začetek, dnevi)signum (col)
datumiff (konec, začetek)greh (kol)
dan (mesec)sinh (col)
Dayofyear (col)velikost (col)
dešifriranje (col, charset)poševnost (kol)
stopinj (col)sort_array (col, asc = True)
gosto_rank ()soundex (col)
desc (col)spark_partition_id ()
kodirati (col, charset)razcep (str, vzorec)
exp (col)sqrt (col)
eksplodirati (col)stddev (col)
expm1 (col)stddev_pop (col)
expr (str)stddev_samp (col)
faktororial (col)Struktura (* cols)
prvi (col, ignorenulls = napačno)podvrsto (str, pos, len)
tla (col)substring_index (str, razmeji, šteje)
format_number (col, d)vsota (col)
format_string (format, * cols)sumDistinct (col)
from_json (col, shema, možnosti = ())porjavelost
from_unixtime (časovni žig, format = 'yyyy-MM-dd HH: mm: ss')do stopinj (col)
from_utc_timestamp (časovni žig, tz)toRadians (col)
get_json_object (col, pot)to_date (col)
največji (* cols)to_json (col, možnosti = ())
združevanje (col)to_utc_timestamp (časovni žig, tz)
grouping_id (* cols)prevesti (srcCol, ujemanje, zamenjava)
hash (* cols)trim (col)
šesterokotniktrunc (datum, oblika)
ura (col)udf (f, returnType = StringType)
hipota (col1, col2)unbase64 (col)
initcap (col)unhex (col)
input_file_name ()unix_timestamp (timestamp = noben, format = 'yyyy-MM-dd HH: mm: ss')
instr (str, podstr)zgornji del (stolpec)
Isnan (col)var_pop (col)
isnull (col)var_samp (col)
json_tuple (col, * polja)variance (col)
kurtoza (kol)weekofyear (col)
zamik (col, štetje = 1, privzeto = nič)kdaj (stanje, vrednost)
zadnji (col, ignorenulls = napačno)okno (timeColumn, windowDuration, slideDuration = None, startTime = None)
zadnji dan (datum)leto (col)
svinec (stolpec, štetje = 1, privzeto = nič)najmanj (* cols), prižgano (col)
dolžina (col)Levenshtein (levo, desno)

pyspark.sql.types: Ti tipi razredov, ki se uporabljajo pri pretvorbi podatkovnih vrst. S tem razredom se lahko objekt SQL pretvori v izvorni objekt Python.

  • pyspark.sql.streaming: Ta razred obravnava vse tiste poizvedbe, ki se izvajajo, se nadaljujejo v ozadju. Vse te metode, uporabljene v pretakanju, so brez državljanstva. Zgoraj dane vgrajene funkcije so na voljo za delo s podatkovnimi okvirji. Te funkcije lahko uporabite, če se obrnete na knjižnico funkcij.
  • pyspark.sql.Window: Vse metode, ki jih ponuja ta razred, se lahko uporabljajo pri določanju in delu z okni v DataFrames.

Zaključek

Je eno izmed orodij, ki se uporabljajo na področju umetne inteligence in strojnega učenja. Vse več podjetij ga uporablja za analitiko in strojno učenje. Kvalificirani strokovnjaki v njej bodo v prihodnosti več povpraševanja.

Priporočeni članki

To je vodnik za PySpark SQL. Tukaj razpravljamo o tem, kaj je pyspark SQL, njegove lastnosti, glavne uporabe, moduli in vgrajene metode. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Spark DataFrame
  2. Spark Intervju Vprašanja
  3. Funkcija datuma SQL
  4. Klavzula o SQL HAVING
  5. Apache iskre arhitektura z dvema izvedbama
  6. Kako uporabljati DISTINCT v programu Oracle?