Sissejuhatus PySpark SQL-i

Mõned algajad programmeerijad ei oleks PySpark SQL-ist teadlikud. Enne PySparki SQL-i läbimist peaks meil olema idee, mis on Spark SQL. Alustame Spark SQL-ist, see on Apache Sparki moodul. Spark SQL, mida kasutatakse struktureeritud andmetega töötamiseks. PySpark SQL on välja töötatud Pythoni sädeme toetamiseks.

PySpark SQL on Pythoni koostöö Spark SQL-iga. Seda kasutatakse peamiselt struktureeritud ja poolstruktureeritud andmete töötlemisel. Selle pakutav API suudab lugeda andmeid paljudest allikatest ja need andmeallikad võivad olla erinevates andmevormingutes.

Mis on PySpark SQL?

See on tööriist python'i toetamiseks Spark SQL-iga. See on välja töötatud Python Spark'i toetamiseks. PySparki õigeks mõistmiseks on vaja teadmisi Pythoni, Big Data & Sparki kohta. PySpark SQL on oma oluliste omaduste tõttu aeglaselt populaarsust kogumas andmebaasiprogrammeerijates.

PySpark SQL töötab hajutatud süsteemis ja on skaleeritav ka selle pärast, miks seda kasutatakse laialdaselt andmeteaduses. PySparkis pakub SQL masinõpet python-teek. Seda Pythoni teeki tuntakse masinõppe teegina.

PySpark SQL omadused

Allpool on toodud mõned PySpark SQL olulised funktsioonid:

  • Kiirus: see on palju kiirem kui traditsioonilised suured andmetöötlusraamistikud nagu Hadoop.
  • Võimas vahemällu salvestamine : PySpark pakub lihtsat programmeerimiskihti, mis aitab vahemällu salvestada kui muud raamistike vahemälu.
  • Reaalaeg : PySparki SQL -is arvutamine toimub mälus, seetõttu on see reaalajas.
  • Juurutamine: seda saab juurutada Hadoopi või oma klastrihalduri kaudu.
  • Polüglott: see toetab programmeerimist Scalas, Java, Pythonis ja R-is.

Seda kasutatakse suurandmetes ja kus on suurandmeid, hõlmab ka andmete analüütikaga seotud andmeid. See on Big Data Analyticsi kuumim tööriist.

PySpark SQL peamised kasutusalad

Allpool on toodud mõned sektorid, kus Pysparki enamuses kasutatakse:

E-kaubanduse tööstus

E-kaubanduse valdkonnas lisab PySpark suurt rolli. Seda kasutatakse kasutajate hõlbustamise hõlbustamiseks, pakkudes sihtrühmadele kliente, reklaamides tõelistele klientidele. Erinevad e-kaubanduse tööstusharud nagu eBay, Alibaba, Flipkart, Amazon jne kasutavad seda turunduseesmärkidel ehtsate andmete saamiseks.

Meediumid

Erinevad meediat juhtivad tööstused, nagu Youtube, Netflix, Amazon jne, kasutavad PySparki enamasti suurandmete töötlemiseks, et need kasutajatele kättesaadavaks teha. See andmete töötlemine toimub serveripoolsete rakenduste jaoks reaalajas.

Pangandus

Pangandus on veel üks oluline sektor, kus PySparki kasutatakse väga laialt. See aitab finantssektoril töödelda reaalajas toimuvaid tehinguid miljonite dokumentide töötlemiseks, reklaamimiseks tõelistele klientidele, krediidiriski hindamiseks jne.

PySparki moodulid

Allpool on toodud mõned olulised klassid ja nende omadused:

  • pyspark.sql.SparkSession: See klass võimaldab programmeerijatel programmeerida Sparkis DataFrame'i ja SQL funktsioonidega. SparkSession kasutatakse DataFrame'i loomiseks, DataFrame'i registreerimiseks tabelitena, vahemälutabelitena, SQL-i käivitamiseks tabelite kohal.
  • pyspark.sql.DataFrame: DataFrame klass mängib olulist rolli hajutatud andmete kogumisel. Need andmed on rühmitatud nimetatud veergudesse. Spark SQL DataFrame sarnaneb relatsiooniandmete tabeliga. DataFrame'i saab luua SQLContext meetodeid kasutades.
  • pyspark.sql.Columns: selle klassi abil saab DataFrame'is luua veeru eksemplare.
  • pyspark.sql.Row: selle klassi abil saab DataFrame'is luua rea.
  • pyspark.sql.GroupedData: klass GroupedData pakub rühmaBy () loodud liitmismeetodeid.
  • pyspark.sql.DataFrameNaFunctions: See klass pakub funktsioone puuduvate andmetega töötamiseks.
  • pyspark.sql.DataFrameStatFunctions: Statistilised funktsioonid on saadaval Spark SQL-i DataFrames abil. See klass pakub statistikafunktsioonide funktsionaalsust.
  • pyspark.sql.functions: DataFrames'iga töötamiseks on Sparkis sisseehitatud palju funktsioone. Mõned sisseehitatud funktsioonid on toodud allpool:
Sisseehitatud meetodidSisseehitatud meetodid
abs (kol)otsi (alam, str, pos = 1)
acos (col)logi (arg1, arg2 = puudub)
add_months (algus, kuud)log10 (col)
approxCountDistinct (veerg, res = puudub)log1p (col)
massiiv ((cols))log2 (col)
array_contains (col, väärtus)madalam (col)
asc (col)ltrim (col)
ascii (col)max (col)
asin (col)md5 (col)
atankeskmine (col)
atan2min (col)
keskmminut (col)
base64monotonically_increasing_id ()
prügikastikuu (col)
bitwiseNotkuud_ vahel (kuupäev1, kuupäev2)
Saadenanvl (col1, col2)
Maa pealjärgmine_päev (kuupäev, päevVeek)
cbrtntiil (n)
ceilprotsenti_rank ()
ühendama ((col))posexplode (col)
col (col)pow (col1, col2)
kogu_loend (kol)veerand (col)
koguda_set (col)radiaanid (col)
veerg (col)rand (seeme = puudub)
concat (* cols)rand (seeme = puudub)
concat_ws (sep, * col)koht()
konv (kolonn, fromBase, toBase)regexp_extract (str, muster, idx)
corr (col1, col2)regexp_replace (str, muster, asendamine)
cos (col)korda (kol, n)
härg (col)tagurpidi (col)
arv (col)rint (col)
countDistinct (col, * cols)ümmargune (kolonn, skaala = 0)
covar_pop (col1, col2)rea_number ()
covar_samp (col1, col2)rpad (kol, len, pad)
crc32 (col)rtrim (col)
looma_kaart (* coli)teine ​​(col)
cume_dist ()sha1 (col)
tänane kuupäev()sha2 (col, numBits)
current_timestamp ()shiftLeft (col, numBits)
date_add (algus, päevad)shiftRight (col, numBits)
kuupäev_vorming (kuupäev, vorming)shiftRightUnsigned (veerg, numBits)
date_sub (algus, päevad)signum (col)
kuupäev (algus, algus)patt (col)
kuupäev (col)sinh (col)
aastapäev (kol)suurus (col)
dekodeerimine (kolonn, tähemärk)vildakus (col)
kraadi (col)sort_array (col, asc = tõene)
tihe_rank ()soundex (col)
desc (col)spark_partition_id ()
kodeerima (kolonn, tähemärk)poolita (str, muster)
exp (col)sqrt (col)
plahvatama (col)stddev (col)
expm1 (col)stddev_pop (col)
expr (str)stddev_samp (col)
faktoriaal (kol)struct (* cols)
esimene (col, ignorenulls = vale)alamstring (str, pos, len)
põrand (kol)alamstring_index (str, delim, count)
vormingu number (veerg, d)summa (col)
vorming_string (vorming, * coli)sumDistinct (col)
from_json (veerg, skeem, valikud = ())päevitunud (kollane)
from_unixtime (ajatempel, formaat = 'aaaa-KK-pp PP: mm: ss')toDegrees (col)
from_utc_timestamp (ajatempel, tz)toRadians (kol)
get_json_object (kolonn, tee)to_date (col)
suurim (* col)to_json (col, options = ())
rühmitamine (col)to_utc_timestamp (ajatempel, tz)
grouping_id (* cols)tõlkima (srcCol, sobitamine, asendamine)
räsi (* coli)kärpima (col)
hex (cols)trunc (kuupäev, formaat)
tund (col)udf (f, returnType = StringType)
hüpotees (col1, col2)unbase64 (col)
initcap (col)unhex (col)
sisend_faili_nimi ()unix_timestamp (ajatempel = puudub, formaat = 'aaaa-kk-pp PP: mm: ss')
instr (str, substr)ülemine (col)
isnan (col)var_pop (col)
isnull (col)var_samp (col)
json_tuple (veerg, * väljad)dispersioon (col)
kurtoos (kol)aastanädal (col)
viivitus (col, arv = 1, vaikimisi = puudub)millal (tingimus, väärtus)
viimane (col, ignorenulls = vale)aken (timeColumn, windowDuration, slideDuration = Puudub, startTime = Puudub)
viimane_päev (kuupäev)aasta (col)
plii (col, arv = 1, vaikimisi = puudub)kõige vähem (* coli), valgustatud (col)
pikkus (col)levenshtein (vasak, parem)

pyspark.sql.types: neid klassitüüpe, mida kasutatakse andmetüüpide teisendamisel. Selle klassi abil saab SQL-objekti teisendada natiivseks Pythoni objektiks.

  • pyspark.sql.streaming: See klass tegeleb kõigi nende päringutega, mille täitmine jätkub taustal. Kõik need voogesituses kasutatavad meetodid on kodakondsuseta. Ülaltoodud sisseehitatud funktsioonid on andmefraamidega töötamiseks saadaval. Neid funktsioone saab kasutada funktsioonikogule viidates.
  • pyspark.sql.Aken: kõiki selle klassi pakutavaid meetodeid saab kasutada DataFramesis akende määratlemisel ja nendega töötamisel.

Järeldus

See on üks tehisintellekti ja masinõppe valdkonnas kasutatavatest tööriistadest. Üha enam ettevõtteid kasutab seda analüüsi ja masinõppe jaoks. Selles kvalifitseeritud spetsialistid vajavad lähiajal rohkem nõudlust.

Soovitatavad artiklid

See on PySpark SQL juhend. Siin arutatakse, mis on pyspark SQL, selle funktsioonid, peamised kasutusviisid, moodulid ja sisseehitatud meetodid. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Spark DataFrame
  2. Spark Intervjuu küsimused
  3. SQL kuupäeva funktsioon
  4. SQL-i klausel
  5. Kahe rakendusega Apache Sparki arhitektuur
  6. Kuidas kasutada DISTINCT-i Oracle'is?