Først vil vi se hvordan du kan partisjonere DataFrame i Pyspark.
Skillevegg
Det er mulig å dele opp radene i DataFrame ved å bruke vindusfunksjonen. Det er tilgjengelig i Pyspark.SQL.vindu modul. Det er to trinn for å dele opp radene i en pyspark dataaframe.
Trinn:
Syntaks:
partisjon = vindu.Partitionby (“kolonne”)Vi kan bestille de partisjonerte dataene med den partisjonerte kolonnen eller en hvilken som helst annen kolonne.
La oss opprette DataFrame.
Eksempel:
Her lager vi en Pyspark DataFrame som har 5 kolonner - ['Subject_id', 'Name', 'Age', 'Technology1', 'Technology2'] med 10 rader.
Importer pysparkProduksjon:
Pyspark varians () vindusfunksjon
Variansen () i vindusfunksjonen brukes til å returnere variansen i hver partisjon. Det kan være mulig å returnere varians etter at Dataframe.
Syntaks:
DataFrame_obj.WithColumn ("Varians", varians (col ("kolonne").over (partisjon))Parameter:
varians (col ("kolonne"))Her tar variansen () -funksjonen kolonnens navn som parameter. Den returnerer variansen i denne kolonnen i hver partisjon.
Vi legger til resultatet i en kolonne som heter varians ved bruk av med Column () -funksjonen.
Eksempel 1:
Nå har vi en DataFrame (opprettet tidligere). La oss partisjonere det basert på Technology1 -kolonnen og få variansen i emnet_id -kolonnen i hver partisjon.
# Importer vindusfunksjonenProduksjon:
Forklaring:
Det totale antall partisjoner er 4.
Partisjon 1:
De .Net skjedde to ganger i den første partisjonen. Variansen til emnet_id -kolonnen er 0.0.
Partisjon 2:
Hadoop skjedde en gang i den andre partisjonen. Så variansen er null.
Partisjon 3:
Oracle skjedde fire ganger i tredje partisjon.
Variansen til emn_id -kolonnen er 401.0.
Partisjon 4:
PHP skjedde tre ganger i fjerde partisjon.
Variansen til emnet_id -kolonnen er 0.0.
Eksempel 2:
Nå har vi en DataFrame (opprettet tidligere). La oss skille det ut basert på Technology1 -kolonnen og få variansen i alderskolonnen i hver partisjon.
# Importer vindusfunksjonenProduksjon:
Forklaring:
Det totale antall partisjoner er 4.
Partisjon 1:
De .Net skjedde to ganger i den første partisjonen. Variansen i alderssøylen er 0.0.
Partisjon 2:
Hadoop skjedde en gang i den andre partisjonen. Så variansen er null.
Partisjon 3:
Oracle skjedde fire ganger i tredje partisjon.
Variansen i alderssøylen er 0.666.
Partisjon 4:
PHP skjedde tre ganger i fjerde partisjon.
Variansen i alderssøylen er 1.333.
Pyspark Stddev () vindusfunksjon
STDDEV () i vindusfunksjonen brukes til å returnere standardavviket i hver partisjon. Det kan være mulig å returnere standardavviket etter at Dataframe.
Syntaks:
DataFrame_obj.WithColumn ("Standardavvik", STDDEV (COL ("Kolonne")).over (partisjon))Parameter:
STDDEV (COL ("Kolonne"))Her tar stddev () kolonnenavnet som parameter. Den returnerer standardavviket i denne kolonnen i hver partisjon.
Vi legger til resultatet i en kolonne som heter Standard Deviation ved hjelp av Column () -funksjonen.
Eksempel 1:
Nå har vi en DataFrame (opprettet tidligere). La oss partisjonere det basert på Technology1 -kolonnen og få standardavviket i emnet_id -kolonnen i hver partisjon.
# Importer vindusfunksjonenProduksjon:
Forklaring:
Det totale antall partisjoner er 4.
Partisjon 1:
De .Net skjedde to ganger i den første partisjonen. Standardavviket for emnet_id -kolonnen er 0.0.
Partisjon 2:
Hadoop skjedde en gang i den andre partisjonen. Så standardavviket er null.
Partisjon 3:
Oracle skjedde fire ganger i tredje partisjon.
Standardavviket for emnet_id -kolonnen er 20.024984.
Partisjon 4:
PHP skjedde tre ganger i fjerde partisjon.
Standardavviket for emnet_id -kolonnen er 0.0.
Eksempel 2:
Nå har vi en DataFrame (opprettet tidligere). La oss skille det ut basert på Technology1 -kolonnen og få standardavviket i alderskolonnen i hver partisjon.
# Importer vindusfunksjonenProduksjon:
Forklaring:
Det totale antall partisjoner er 4.
Partisjon 1:
De .Net skjedde to ganger i den første partisjonen. Standardavviket for alderssøylen er 0.0.
Partisjon 2:
Hadoop skjedde en gang i den andre partisjonen. Så standardavviket er null.
Partisjon 3:
Oracle skjedde fire ganger i tredje partisjon.
Standardavviket for alderssøylen er 0.8164.
Partisjon 4:
PHP skjedde tre ganger i fjerde partisjon.
Standardavviket for alderssøylen er 1.1547.
Konklusjon
I denne pyspark -partisjoneringsopplæringen lærte vi hvordan vi kan returnere variansen i hvert partisjonert vindu ved å bruke varians () -funksjonen og standardavviket i hvert partisjonert vindu ved hjelp av STDDEV () -funksjonen. Vi la resultatet til det eksisterende DataFrame som en ny kolonne. Forsikre deg om at du importerer variansen og stddev fra pyspark.SQL.Funksjonsmodul.