
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?