PySpark Substring -metode

PySpark Substring -metode
Pyspark Library er en generell formål, distribuert prosesseringsmotor som lar deg håndtere dataene på flere maskiner effektivt. En av de populære metodene er Substring (), som er nyttig for å få en substring fra en gitt kolonne, sammen med eksemplene. La oss dykke og lære mer om dette biblioteket og dets substringsmetode.

Hva er Pyspark?

Pyspark er et av Sparks støttede språk. Spark er en stor databehandlingsteknologi som kan håndtere data om en petabyte-skala. Du kan utvikle Spark -applikasjoner for å behandle dataene og kjøre dem på Spark -plattformen ved hjelp av Pyspark. AWS tilbyr administrert EMR og gnistplattformen. Du kan bruke Pyspark til å behandle dataene og etablere en EMR -klynge på AWS. Pyspark kan lese dataene fra CSV, Parkett, JSON og databaser.

Fordi Spark for det meste er implementert i Scala, kan du lage Spark -apper i Scala eller Java deg få tilgang til flere av funksjonene enn å skrive Spark -programmer i Python eller R. Pyspark støtter foreløpig ikke datasettet. For noen som forfølger en datavitenskap, er Pyspark et bedre alternativ enn Scala fordi det er mange populære datavitenskapsbiblioteker skrevet i Python som Numpy, Tensorflow og Scikit-Learn. For mindre datasett brukes pandaer, mens for større datasett er Pyspark ansatt.

Sammenlignet med Pyspark, gir Pandas raskere resultater. Avhengig av minnebegrensningen og størrelsen på dataene, kan du velge mellom Pyspark og Pandas for å forbedre ytelsen. Bruk alltid pandaer over pyspark når behandling av data er nok til å passe inn i minnet.

Det spenstige distribuerte datasettet (RDD) er den sofistikerte underliggende mekanismen for gnistdata. Dataene er spenstige, noe som innebærer at hvis et system med dataene mislykkes, blir dataene replisert andre steder og kan gjenopprettes. Distribuert betyr at dataene er delt mellom 'n' maskiner, slik at du teoretisk kan øke hastigheten på en prosess mens du også håndterer enorme datamengder med data. En av konsekvensene av distribuert databehandling er at dataene må synkroniseres med ekstrem forsiktighet. Spark krever funksjonell programmering, noe som betyr at funksjonene ikke må ha noen bivirkninger for å forhindre mange av disse bekymringene. Som et resultat, hvis du ønsker å endre en tabell, må du først opprette en ny tabell.

Mange programmerere er ikke kjent med begrepet funksjonell programmering. Pyspark gjør ikke en god jobb med å gjøre RDD gjennomsiktig. API -en plukker opp noe av ubehageligheten i RDD -miljøet. Funksjonell programmering betyr for eksempel at en funksjon ikke kan ha noen bivirkninger (noe som gjør at dataene er konsistent mye vanskeligere). Et annet eksempel er den "late" evalueringen, som gjør at Spark kan vente til den har et omfattende bilde av hva du prøver å oppnå før du prøver å optimalisere prosessene. Spark har raskt blitt bransjens foretrukne teknologi for databehandling. Det er imidlertid ikke den første. Før Spark var prosesseringsmotoren MapReduce. Spark er mye brukt i bransjer på distribuerte lagringssystemer som Hadoop, Mesos og Cloud. Det er viktig å forstå de distribuerte lagringssystemene og hvordan de opererer.

Hva er Substring () -metoden i Pyspark?

Substring () -metoden i Pyspark trekker ut en substring fra en dataframkolonne av strengtypen ved å spesifisere dens lengde og plassering.

SQL Function Substring ()

Vi kan få en substring av en streng ved hjelp av substring() Funksjonen til Pyspark.SQL.funksjoner modulen ved å levere indeksen og lengden på strengen vi ønsker å skive. Her er et eksempel på å bruke denne metoden:

Substring (STR, POS, LEN)
Data = [(1, "20210828"), (2, "20190725")]
kolonner = ["id", "dato"]
df = gnist.CreateTataFrame (data, kolonner)
df.withColumn ('år', substring ('date', 1,4)) \
.WithColumn ('Month', Substring ('Date', 5,2)) \
.WithColumn ('Day', Substring ('Dato', 7,2))
df.Printschema ()
df.vis (avkortet = falsk)

Bruke substring () med SELECT ()

Ved hjelp av plukke ut I Pyspark kan vi få substring av en kolonne.

df.Velg ('Dato', Substring ('Dato', 1,4).alias ('år'), \
Substring ('Dato', 5,2).alias ('måned'), \
Substring ('Dato', 7,2).alias ('dag'))

Bruke substring () med SelectExpr ()

Eksemplet på å bruke SelectExpr Metode for å få år, måned og dag som underlag av kolonne (dato) er som følger:

df.SelectExpr ('Dato', 'Substring (dato, 1,4) som år', \
'Substring (dato, 5,2) som måned', \
'Substring (dato, 7,2) som dag')

Bruker substr () fra kolonnetype

Få substringen ved hjelp av substr() Funksjon fra Pyspark.SQL.Kolonne Skriv inn pyspark.

DF3 = DF.WithColumn ('År', Col ('Dato').substr (1, 4)) \
.withcolumn ('måned', col ('date').substr (5, 2)) \
.WithColumn ('Day', Col ('Dato').substr (7, 2))

5. Sette det sammen

Importer pyspark
Fra Pyspark.SQL Import SparkSession
Fra Pyspark.SQL.funksjoner importerer col, substring
Spark = SparkSession.bygger.AppName ("Demo").getorCreate ()
Data = [(1, "20210828"), (2, "20190725")]
kolonner = ["id", "dato"]
df = gnist.CreateTataFrame (data, kolonner)
df.withColumn ('år', substring ('date', 1,4)) \
.WithColumn ('Month', Substring ('Date', 5,2)) \
.WithColumn ('Day', Substring ('Dato', 7,2))
df.Printschema ()
df.vis (avkortet = falsk)
df.Velg ('Dato', Substring ('Dato', 1,4).alias ('år'), \
Substring ('Dato', 5,2).alias ('måned'), \
Substring ('Dato', 7,2).alias ('dag'))
df.SelectExpr ('Dato', 'Substring (dato, 1,4) som år', \
'Substring (dato, 5,2) som måned', \
'Substring (dato, 7,2) som dag')
DF3 = DF.WithColumn ('År', Col ('Dato').substr (1, 4)) \
.withcolumn ('måned', col ('date').substr (5, 2)) \
.WithColumn ('Day', Col ('Dato').substr (7, 2))

Konklusjon

Vi diskuterte om Pyspark, et big data -prosesseringssystem som er i stand til å håndtere petabyte med data, og dets substring () -metode sammen med de få eksemplene.