Først ser vi 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 vil være to trinn for å skille ut 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 Min () vindusfunksjon
Min () i vindusfunksjonen brukes til å returnere minimumsverdien i hver partisjon. Det kan være mulig å returnere en minimumsverdi etter at Dataframe.
Syntaks:
DataFrame_obj.WithColumn ("Minimum", Min (Col ("Column")).over (partisjon))Parameter:
Min (col ("kolonne"))Her tar Min () -funksjonen kolonnenavnet som parameter. Den returnerer minimum av verdier i denne kolonnen i hver partisjon.
Vi legger til resultatet i en kolonne som heter minimum ved hjelp av with Column () -funksjonen.
Eksempel 1:
Nå har vi en DataFrame (opprettet tidligere). La oss skille det ut basert på Technology1 -kolonnen og få minimumsverdien fra 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. Minimumsverdien i Subject_id -kolonnen er 46.
Partisjon 2:
Hadoop skjedde en gang i den andre partisjonen. Så minimumsverdien er 12.
Partisjon 3:
Oracle skjedde fire ganger i tredje partisjon.
Minimumsverdien i emn_id -kolonnen er 4.
Partisjon 4:
PHP skjedde tre ganger i fjerde partisjon.
Minimumsverdien i emn_id -kolonnen er 4.
Eksempel 2:
Nå har vi en DataFrame (opprettet tidligere). La oss partisjonere det basert på Technology1 -kolonnen og få minimumsverdien fra 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. Minimumsverdien i alderssøylen er 22.
Partisjon 2:
Hadoop skjedde en gang i den andre partisjonen. Minimumsverdien er 22.
Partisjon 3:
Oracle skjedde fire ganger i tredje partisjon.
Minimumsverdien i alderskolonnen er 21.
Partisjon 4:
PHP skjedde tre ganger i fjerde partisjon.
Minimumsverdien i alderskolonnen er 21.
Pyspark max () vindusfunksjon
Maks () i vindusfunksjonen brukes til å returnere maksimalverdien i hver partisjon. Det kan være mulig å returnere en maksimal verdi etter at Dataframe.
Syntaks:
DataFrame_obj.WithColumn ("Maksimum", Max (Col ("Column")).over (partisjon))Parameter:
Max (col ("kolonne"))Her tar Max () -funksjonen kolonnenavnet som parameter. Den returnerer maksimum av verdier i denne kolonnen i hver partisjon.
Vi legger til resultatet i en kolonne som heter maksimum ved hjelp av med column () -funksjonen.
Eksempel 1:
Nå har vi en DataFrame (opprettet tidligere). La oss partisjonere det basert på Technology1 -kolonnen og få maksimal verdi fra emne_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. Maksimal verdi i emnet_id -kolonnen er 46.
Partisjon 2:
Hadoop skjedde en gang i den andre partisjonen. Så maksimalverdien er 12.
Partisjon 3:
Oracle skjedde fire ganger i tredje partisjon.
Maksimal verdi i emnet_id -kolonnen er 46.
Partisjon 4:
PHP skjedde tre ganger i fjerde partisjon.
Maksimal verdi i emnet_id -kolonnen er 4.
Eksempel 2:
Nå har vi en DataFrame (opprettet tidligere). La oss partisjonere det basert på Technology1 -kolonnen og få maksimal verdi fra 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. Maksimal verdi i alderskolonnen er 22.
Partisjon 2:
Hadoop skjedde en gang i den andre partisjonen. Så maksimumsverdien er 22.
Partisjon 3:
Oracle skjedde fire ganger i tredje partisjon.
Maksimal verdi i alderskolonnen er 23.
Partisjon 4:
PHP skjedde tre ganger i fjerde partisjon.
Maksimal verdi i alderskolonnen er 23.
Konklusjon
I denne pyspark -partisjoneringsopplæringen lærte vi hvordan vi kan returnere minimumsverdiene i hvert partisjonert vindu ved å bruke Min () -funksjonen og maksimalverdiene i hvert partisjonert vindu ved å bruke max () -funksjonen. Vi la resultatet til det eksisterende DataFrame som en ny kolonne. Forsikre deg om at du må importere min og maks fra pyspark.SQL.Funksjonsmodul.