Introduksjon til PySpark SQL

Noen av de nybegynnte programmererne ville ikke være klar over PySpark SQL. Før vi går gjennom PySpark SQL først, bør vi ha en ide om hva som er Spark SQL. La oss starte med Spark SQL, Det er en modul av Apache Spark. Spark SQL pleide å jobbe med strukturerte data. PySpark SQL er utviklet for å støtte Python in the Spark.

PySpark SQL er samarbeidet mellom Python og Spark SQL. Det brukes hovedsakelig i behandlingen av strukturerte og semistrukturerte data. API levert av den kan lese data fra et stort antall kilder. Disse datakildene kan være i forskjellige dataformater.

Hva er PySpark SQL?

Det er et verktøy for å støtte python med Spark SQL. Den er utviklet for å støtte Python i Spark. For riktig forståelse av PySpark kreves det kunnskap om Python, Big Data & Spark. PySpark SQL får sakte popularitet i databaseprogrammerere på grunn av de viktige funksjonene.

PySpark SQL fungerer på det distribuerte systemet, og det er også skalerbart at det er sterkt brukt i datavitenskap. I PySpark SQL-maskin er læring levert av python-biblioteket. Dette Python-biblioteket er kjent som et maskinlæringsbibliotek.

Funksjoner ved PySpark SQL

Noen av de viktige funksjonene i PySpark SQL er gitt nedenfor:

  • Hastighet: Det er mye raskere enn de tradisjonelle rammer for stor databehandling som Hadoop.
  • Kraftig hurtigbufring: PySpark gir et enkelt programmeringslag som hjelper cachingen enn de andre rammene caching.
  • Sanntid: Beregning i PySpark SQL foregår i minnet, det er derfor det er sanntid.
  • Distribusjon: Den kan distribueres gjennom Hadoop eller egen klyngesjef.
  • Polyglot: Den støtter programmering i Scala, Java, Python og R.

Det brukes i Big data og der det er Big data innebærer det relatert til dataanalyse. Det er det hotteste verktøyet i markedet til Big Data Analytics.

Store bruksområder for PySpark SQL

Nedenfor er gitt noen av sektorene der Pyspark brukes i flertall:

Netthandel

I e-handelsbransjen tilfører PySpark en stor rolle. Det brukes til å forbedre brukerens tilgjengelighet, og tilbyr tilbud til målrettede kunder, annonsering til ekte kunder. Ulike e-handelsnæringer som eBay, Alibaba, Flipkart, Amazon osv. Bruker det for å få ekte data til markedsføringsformål.

Media

Ulike medier som driver næringer som Youtube, Netflix, Amazon, etc. bruker PySpark i de fleste til å behandle store data for å gjøre det tilgjengelig for brukerne. Denne behandlingen av data foregår i sanntid til serversidens applikasjoner.

Banking

Bank er en annen viktig sektor der PySpark brukes på et veldig stort nivå. Det hjelper finanssektoren med å behandle sanntidstransaksjoner for millioner av platebehandling, reklame til ekte kunder, kredittrisikovurdering, etc.

PySpark-moduler

Noen av de viktige klassene og deres egenskaper er gitt nedenfor:

  • pyspark.sql.SparkSession: Denne klassen gjør det mulig for programmerere å programmere i Spark med DataFrame og SQL-funksjonalitet. SparkSession brukes til å opprette DataFrame, registrere DataFrame som tabeller, cache-tabeller, kjører SQL over tabeller.
  • pyspark.sql.DataFrame: DataFrame-klassen spiller en viktig rolle i distribuert innsamling av data. Disse dataene er gruppert i navngitte kolonner. Spark SQL DataFrame ligner på en relasjonell datatabell. Et DataFrame kan opprettes ved hjelp av SQLContext-metoder.
  • pyspark.sql. Kolonner: Det kan opprettes en kolonneforekomst i DataFrame ved å bruke denne klassen.
  • pyspark.sql.Row: En rad i DataFrame kan opprettes ved hjelp av denne klassen.
  • pyspark.sql.GroupedData: GroupedData-klassen gir aggregeringsmetodene opprettet av groupBy ().
  • pyspark.sql.DataFrameNaFunctions: Denne klassen gir funksjonaliteten til å fungere med manglende data.
  • pyspark.sql.DataFrameStatFunctions: Statistiske funksjoner er tilgjengelige med DataFrames of Spark SQL. Funksjonaliteten til statistikkfunksjonene tilbys av denne klassen.
  • pyspark.sql.functions: Mange innebygde funksjoner i Spark er tilgjengelige for å fungere med DataFrames. Noen av de innebygde funksjonene er gitt nedenfor:
Innebygde metoderInnebygde metoder
abs (kol)lokalisere (substr, str, pos = 1)
Acos (kol)logg (arg1, arg2 = Ingen)
add_months (start, måneder)log10 (kol)
approxCountDistinct (col, res = none)log1p (kol)
array ((kolonner))log2 (kol)
array_contains (col, verdi)lavere (kol)
ASC (kol)ltrim (kol)
ascii (kol)max (kol)
Asin (kol)MD5 (kol)
brunfargemiddelverdi (kol)
atan2min (kol)
avgminutt (col)
base64monotonically_increasing_id ()
binmåned (kol)
bitwiseNotmonths_between (dato1, dato2)
Kringkastenanvl (col1, col2)
Broundnext_day (date, dayOfWeek)
cbrtntile (n)
ceilpercent_rank ()
COALESCE ((kol))posexplode (kol)
col (kol)pow (col1, col2)
collect_list (kol)kvartal (kol)
collect_set (kol)radianer (kol)
kolonne (kol)rand (seed = None
CONCAT (*) kolonnerrandN (seed = Ingen)
concat_ws (sep, * col)rang()
konv (col, fromBase, toBase)regexp_extract (str, mønster, idx)
corr (col1, col2)regexp_replace (str, mønster, erstatning)
cos (kol)gjenta (col, n)
cosh (kol)revers (kol)
teller (kol)riv (kol)
countDistinct (col, * cols)runde (col, skala = 0)
covar_pop (col1, col2)row_number ()
covar_samp (col1, col2)rpad (col, len, pad)
CRC32 (kol)RTRIM (kol)
create_map (* kolonner)sekund (kol)
cume_dist ()SHA1 (kol)
dagens dato()sha2 (col, numBits)
current_timestamp ()shiftLeft (col, numBits)
date_add (start, dager)shiftRight (col, numBits)
date_format (dato, format)shiftRightUndtegnet (col, numBits)
date_sub (start, dager)signum (kol)
datediff (slutt, start)sin (kol)
dayofmonth (kol)sinh (kol)
dayofyear (kol)størrelse (kol)
avkode (col, charset)skjevhet (kol)
grader (kol)sort_array (col, asc = True)
dense_rank ()soundex (kol)
desc (kol)spark_partition_id ()
kode (col, charset)delt (str, mønster)
exp (kol)sqrt (kol)
eksplodere (kol)stdDev (kol)
expm1 (kol)stddev_pop (kol)
expr (str)stddev_samp (kol)
faktoriell (kol)konstruere (* kolonner)
først (col, ignorenulls = False)substring (str, pos, len)
etasje (kol)substring_index (str, delim, count)
format_nummer (col, d)sum (kol)
format_string (format, * cols)sumDistinct (kol)
fra_json (col, skjema, alternativer = ())tan (kol)
fra_unixtime (tidsstempel, format = 'åååå-MM-dd HH: mm: ss')toDegrees (kol)
fra_utc_timestamp (tidsstempel, tz)toRadians (kol)
get_json_object (col, sti)TO_DATE (kol)
størst (* kolonner)to_json (col, alternativer = ())
gruppering (kol)to_utc_timestamp (tidsstempel, tz)
grouping_id (*) kolonneroversette (srcCol, matching, erstatte)
hash (*) kolonnertrim (kol)
hex (kolonner)trunke (dato, format)
time (kol)udf (f, returnType = StringType)
hypot (col1, col2)unbase64 (kol)
initcap (kol)unhex (kol)
input_file_name ()unix_timestamp (tidsstempel = Ingen, format = 'åååå-MM-dd HH: mm: ss')
instr (str, substr)øvre (kol)
isnan (kol)var_pop (kol)
isnull (kol)var_samp (kol)
json_tuple (col, * felt)varians (kol)
kurtosis (kol)weekofyear (kol)
etterslep (col, count = 1, default = None)når (tilstand, verdi)
sist (col, ignorenulls = False)vindu (timeColumn, windowsDuration, slideDuration = None, startTime = None)
LAST_DAY (dato)år (col)
bly (col, count = 1, default = None)minst (* cols), lit (col)
lengde (kol)levenshtein (venstre, høyre)

pyspark.sql.types: Disse klassetypene som brukes i datatypekonvertering. Ved å bruke denne klassen kan et SQL-objekt konverteres til et naturlig Python-objekt.

  • pyspark.sql.streaming: Denne klassen håndterer alle spørsmålene som kjøres fortsetter i bakgrunnen. Alle disse metodene som brukes i streaming er statsløse. Ovennevnte innebygde funksjoner er tilgjengelige for å arbeide med dataFrames. Disse funksjonene kan brukes ved å henvise til funksjonsbiblioteket.
  • pyspark.sql.Window: Alle metodene levert av denne klassen kan brukes til å definere og jobbe med windows i DataFrames.

Konklusjon

Det er et av verktøyene som brukes innen kunstig intelligens og maskinlæring. Det brukes av flere og flere selskaper for analyse og maskinlæring. Dyktige fagfolk i det vil bli mer etterspurt i fremtiden.

Anbefalte artikler

Dette er en guide til PySpark SQL. Her diskuterer vi hva pyspark SQL er, dens funksjoner, hovedbruk, moduler og innebygde metoder. Du kan også se på følgende artikler for å lære mer -

  1. Spark DataFrame
  2. Spark Interview Questions
  3. SQL Date-funksjon
  4. SQL HAVING klausul
  5. Apache gnistarkitektur med to implementeringer
  6. Hvordan bruke DISTINCT i Oracle?