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 metode | Vgrajene 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) |
atan | srednje (kolo) |
atan2 | min (col) |
povprečje | minuta (kolo) |
baza64 | monotonically_increasing_id () |
košara | mesec (col) |
bitwiseNe | mesecev med datumom (datum1, datum2) |
Oddaja | nanvl (col1, col2) |
Bround | next_day (datum, danOfWeek) |
cbrt | ntile (n) |
strop | odstotek_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) |
šesterokotnik | trunc (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 -
- Spark DataFrame
- Spark Intervju Vprašanja
- Funkcija datuma SQL
- Klavzula o SQL HAVING
- Apache iskre arhitektura z dvema izvedbama
- Kako uporabljati DISTINCT v programu Oracle?