Pyspark - Orderby

Pyspark - Orderby

I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame. I Pyspark brukes ordreby () til å ordne radene i sortering/stigende rekkefølge i DataFrame.

Det vil returnere den nye DataFrame ved å ordne radene i det eksisterende DataFrame.

La oss lage en Pyspark DataFrame.

Eksempel:

I dette eksemplet skal vi lage Pyspark DataFrame med 5 rader og 6 kolonner og vise ved hjelp av show () -metoden.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'vekt': 17,
'adresse': 'patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
#Display DataFrame
df.forestilling()

Produksjon:

Metode - 1: Bruke OrderBy ()

Her bruker vi OrderBy () -funksjonen for å sortere Pyspark DataFrame basert på kolonnene. Det vil ta en eller flere kolonner.

Syntaks:

Dataramme.Orderby (“Column_name”,…, “Column_name”)

Her,

  1. DataFrame er inngangen Pyspark DataFrame.
  2. kolonne_navn er kolonnen der sortering brukes.

Eksempel:

I dette eksemplet skal vi sortere DataFrame basert på adresse- og alderssøyler med OrderBy () -funksjonen og vise den sorterte DataFrame ved hjelp av Collect () -metoden.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'vekt': 17,
'adresse': 'patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Sorter DataFrame basert på adresse- og alderssøyler
# og vise den sorterte dataaframe
df.Orderby ("Adresse", "Alder").samle inn()

Produksjon:

[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', Rollno = '001', vekt = 67),
Rad (adresse = 'hyd', alder = 9, høyde = 3.69, navn = 'Rohith', rollno = '004', vekt = 28),
Rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'Ojaswi', rollno = '002', vekt = 34),
Rad (adresse = 'hyd', alder = 37, høyde = 5.59, navn = 'Sridevi', Rollno = '005', vekt = 54),
Rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17)]

Metode - 2: Bruke OrderBy () med COL -funksjon

Her bruker vi OrderBy () -funksjonen for å sortere Pyspark DataFrame basert på kolonnene. Vi må spesifisere kolonnenavn/s i OrderBy () -funksjonen gjennom COL -funksjonen. Vi må importere denne funksjonen fra Pyspark.SQL.Funksjonsmodul. Dette brukes til å lese en kolonne fra Pyspark DataFrame.

Syntaks:

Dataramme.Orderby (Col (“Column_name”),…, Col (“Column_name”))

Her,

  1. DataFrame er inngangen Pyspark DataFrame.
  2. kolonne_navn er kolonnen der sortering brukes gjennom COL -funksjonen.

Eksempel:

I dette eksemplet skal vi sortere DataFrame basert på adresse- og alderssøyler med OrderBy () -funksjonen og vise den sorterte DataFrame ved hjelp av Collect () -metoden.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import col -funksjonen
Fra Pyspark.SQL.Funksjoner importerer col
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'vekt': 17,
'adresse': 'patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Sorter DataFrame basert på adresse- og alderssøyler
# og vise den sorterte dataaframe
df.Orderby (Col ("Adresse"), COL ("Age")).samle inn()

Produksjon:

[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', Rollno = '001', vekt = 67),
Rad (adresse = 'hyd', alder = 9, høyde = 3.69, navn = 'Rohith', rollno = '004', vekt = 28),
Rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'Ojaswi', rollno = '002', vekt = 34),
Rad (adresse = 'hyd', alder = 37, høyde = 5.59, navn = 'Sridevi', Rollno = '005', vekt = 54),
Rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17)]

Metode - 3: Bruke OrderBy () med DataFrame -etiketten

Her bruker vi OrderBy () -funksjonen for å sortere Pyspark DataFrame basert på kolonnene. Vi må spesifisere kolonnenavn/etiketter i OrderBy () -funksjonen gjennom DataFrame -kolonnenavnet/etiketten.

Syntaks:

Dataramme.Orderby (DataFrame.kolonne_navn,…, DataFrame.kolonne_navn)

Her,

  1. DataFrame er inngangen Pyspark DataFrame.
  2. kolonne_navn er kolonnen der sortering brukes.

Eksempel:

I dette eksemplet skal vi sortere DataFrame basert på adresse- og alderssøyler med OrderBy () -funksjonen og vise den sorterte DataFrame ved hjelp av Collect () -metoden.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'vekt': 17,
'adresse': 'patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Sorter DataFrame basert på adresse- og alderssøyler
# og vise den sorterte dataaframe
df.Orderby (DF.adresse, df.alder).samle inn()

Produksjon:

[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', Rollno = '001', vekt = 67),
Rad (adresse = 'hyd', alder = 9, høyde = 3.69, navn = 'Rohith', rollno = '004', vekt = 28),
Rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'Ojaswi', rollno = '002', vekt = 34),
Rad (adresse = 'hyd', alder = 37, høyde = 5.59, navn = 'Sridevi', Rollno = '005', vekt = 54),
Rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17)]

Metode - 4: Bruke OrderBy () med DataFrame Index

Her bruker vi OrderBy () -funksjonen for å sortere Pyspark DataFrame basert på kolonnene. Vi må spesifisere kolonneindeksen/indeksene i OrderBy () -funksjonen gjennom DataFrame -kolonneindeksen/posisjonen. I Dataframe starter indeksering med '0'.

Syntaks:

Dataramme.Orderby (DataFrame [Column_Index], ..., DataFrame [Column_Index])

Her,

  1. DataFrame er inngangen Pyspark DataFrame.
  2. kolonne_index er kolonneposisjonen der sortering brukes.

Eksempel:

I dette eksemplet skal vi sortere DataFrame basert på adresse- og alderssøyler med OrderBy () -funksjonen og vise den sorterte DataFrame ved hjelp av Collect () -metoden.

#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter = ['Rollno': '001', 'Navn': 'Sravan', 'Age': 23, 'Height': 5.79, 'vekt': 67, 'adresse': 'guntur',
'Rollno': '002', 'Navn': 'Ojaswi', 'Age': 16, 'Height': 3.79, 'vekt': 34, 'adresse': 'hyd',
'Rollno': '003', 'Navn': 'Gnanesh Chowdary', 'Age': 7, 'Height': 2.79, 'vekt': 17,
'adresse': 'patna',
'Rollno': '004', 'Navn': 'Rohith', 'Age': 9, 'Height': 3.69, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 37, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (studenter)
# Sorter DataFrame basert på adresse- og alderssøyler
# og vise den sorterte dataaframe
df.Orderby (DF [0], DF [1]).samle inn()

Produksjon:

[Rad (adresse = 'guntur', alder = 23, høyde = 5.79, navn = 'Sravan', Rollno = '001', vekt = 67),
Rad (adresse = 'hyd', alder = 9, høyde = 3.69, navn = 'Rohith', rollno = '004', vekt = 28),
Rad (adresse = 'hyd', alder = 16, høyde = 3.79, navn = 'Ojaswi', rollno = '002', vekt = 34),
Rad (adresse = 'hyd', alder = 37, høyde = 5.59, navn = 'Sridevi', Rollno = '005', vekt = 54),
Rad (adresse = 'patna', alder = 7, høyde = 2.79, navn = 'Gnanesh Chowdary', Rollno = '003', vekt = 17)]

Konklusjon

I denne artikkelen diskuterer vi hvordan du bruker OrderBy () -funksjonen ved hjelp av fire scenarier på Pyspark DataFrame i Python. Til slutt kom vi til et punkt hvor vi kan sortere dataene i Pyspark DataFrame basert på kolonnene som er til stede i DataFrame.