I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame.
Vi vil diskutere Collect_List () og Collect_set () -funksjonene i Pyspark DataFrame.
Før vi flytter til disse funksjonene, vil vi lage Pyspark DataFrame
Eksempel:
Her skal vi lage Pyspark DataFrame med 5 rader og 6 kolonner.
#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
Studenter1 = ['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': 2.79, 'vekt': 28, 'adresse': 'hyd',
'Rollno': '005', 'Navn': 'Sridevi', 'Age': 9, 'Height': 5.59, 'vekt': 54, 'adresse': 'hyd']]
# Lag DataFrame
df = spark_app.CreateTataFrame (Students1)
# Vis DataFrame
df.forestilling()
Produksjon:
Pyspark - collect_list ()
Collect_list () -metoden brukes til å få dataene fra Pyspark DataFrame -kolonnene og returnere verdiene i radformat. Det vil returnere alle verdiene sammen med duplikater. Men vi må importere denne metoden fra Pyspark.SQL.Funksjonsmodul.
Vi kan bruke denne metoden for å vise de innsamlede dataene i form av en rad.
Syntaks:
Dataramme.Velg (“Collect_List (“ Column ”))
hvor:
- DataFrame er inngangen Pyspark DataFrame
- Kolonnen er kolonnenavnet der Collect_list () brukes
Eksempel 1:
I dette eksemplet samler vi inn data fra adressekolonnen og viser verdiene med Collect () -metoden.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import collect_list -funksjonen
Fra Pyspark.SQL.Funksjoner importerer samle_liste
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter1 = ['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 (Students1)
# samle_liste på adresse
df.Velg (Collect_List ("Adresse")).samle inn()
Produksjon:
[ROW (Collect_List (adresse) = ['Guntur', 'Hyd', 'Patna', 'Hyd', 'Hyd'])]
Eksempel 2:
I dette eksemplet samler vi inn data fra høyde- og vektkolonner og viser verdiene med Collect () -metoden.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import collect_list -funksjonen
Fra Pyspark.SQL.Funksjoner importerer samle_liste
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter1 = ['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 (Students1)
# samle_liste på høyde- og vektkolonner
df.Velg (Collect_List ("Høyde"), Collect_List ("Vekt")).samle inn()
Produksjon:
[Rad (samle_list (høyde) = [5.79, 3.79, 2.79, 3.69, 5.59], Collect_list (vekt) = [67, 34, 17, 28, 54])]]
Pyspark - collect_set ()
Collect_set () -metoden brukes til å få dataene fra PySpark DataFrame -kolonnene og returnere verdiene i radformat. Det vil returnere alle verdier uten duplikater.
Vi kan bruke denne metoden for å vise de innsamlede dataene i form av en rad. Men vi må importere denne metoden fra Pyspark.SQL.Funksjonsmodul.
Syntaks:
Dataramme.Velg (“Collect_set (“ Column ”))
hvor:
- DataFrame er inngangen Pyspark DataFrame
- Kolonnen er kolonnenavnet der Collect_list () brukes
Eksempel 1:
I dette eksemplet samler vi inn data fra adressekolonnen og viser verdiene med Collect () -metoden.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import Collect_set -funksjonen
Fra Pyspark.SQL.Funksjoner importerer samle_set
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter1 = ['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 (Students1)
# samle_set på adresse
df.Velg (Collect_set ("Adresse")).samle inn()
Produksjon:
[Rad (collect_set (adresse) = ['hyd', 'guntur', 'patna'])]
Eksempel 2:
I dette eksemplet samler vi inn data fra høyde- og vektkolonner og viser verdiene med Collect () -metoden.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import Collect_set -funksjonen
Fra Pyspark.SQL.Funksjoner importerer samle_set
#Create en app som heter Linuxhint
Spark_app = SparkSession.bygger.AppName ('Linuxhint').getorCreate ()
# Lag studentdata med 5 rader og 6 attributter
Studenter1 = ['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 (Students1)
# samle_set på høyde- og vektkolonner
df.Velg (Collect_set ("Høyde"), Collect_List ("Vekt")).samle inn()
Produksjon:
[Rad (samle_set (høyde) = [5.59, 3.69, 2.79, 5.79, 3.79], Collect_list (vekt) = [67, 34, 17, 28, 54])]]
Konklusjon
Vi har sett at Collect_list () og Collect_set () metoder brukes for å få dataene fra en kolonne i Pyspark DataFrame. Fra disse metodene observerte vi at Collect_set () ikke tillater duplikater, men Collect_list () tillater dupliserte verdier.