“I Python er Pyspark en Spark -modul som brukes til å gi en lignende type prosessering som Spark ved hjelp av DataFrame.
Vi vil diskutere to funksjoner: oversetter () og overlegg () i Pyspark.
La oss diskutere det en etter en. Før det må vi lage en Pyspark DataFrame for demonstrasjon.”
Eksempel
Vi skal lage en dataaframe med 5 rader og 6 kolonner og vise den ved hjelp av showet () 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:
Pyspark translate ()
oversetter () brukes til å erstatte strenger i Pyspark DataFrame -kolonne karakter etter karakter. Vi må spesifisere tegnene i en streng som skal erstattes med noen andre tegn. Det tar tre parametere.
Syntaks:
Oversett (kolonne, 'Actual_characters', 'Repacing_characters')
Hvor,
- Kolonnen er navnet på kolonnen som tegnene erstattes i denne kolonnen.
- faktiske_characters er tegnene som er til stede i strengene i den gitte kolonnen.
- erstatning_characters er karakterene som erstatter de faktiske_characts én etter en.
Merk - Antall tegn i de faktiske_characters må være lik antallet erstatnings_characters.
Oversats () kan brukes med metoden med column ().
Generelt syntaks:
Dataramme.WithColumn (kolonne, oversatt (kolonne, 'faktisk_characters', 'Repacing_characters'))
Eksempel 1
I dette eksemplet oversetter vi karakterene - Gunhy til @$%^og i adressekolonnen.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import oversett fra pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer oversett
#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)
#Translate karakterene - Gunhy til @$%^&
df.withColumn ('adresse', oversett ('adresse', 'gunhy', '@$%^&')).forestilling()
Produksjon:
Vi kan se at i adressekolonnen - strengene som inneholder
- g er oversatt til @
- u er oversatt til $
- n er oversatt til %
- H er oversatt til ^
- y er oversatt til &
Eksempel 2
I dette eksemplet oversetter vi karakterene - Jaswi til 56434 i Navn -kolonnen.
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import oversett fra pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer oversett
#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)
#Translate tegnene - Jaswi til 56434 i navnekolonnen
df.WithColumn ('Navn', Oversats ('Navn', 'Jaswi', '56434')).forestilling()
Produksjon:
Vi kan se at i navnekolonnen - strengene som inneholder
- J er oversatt til 5
- A er oversatt til 6
- s er oversatt til 4
- W er oversatt til 3
- Jeg er oversatt til 4
Pyspark Overlay ()
Overlay () brukes til å erstatte verdier i en gitt kolonne med en annen kolonneverdier. Det tar tre parametere. Det kan brukes med en valgt ledning.
Syntaks:
overlegg (erstattet_column, erstatning_column, posisjon)
Hvor,
- erstattet_column er kolonnen som verdiene erstattes.
- erstatning_column er kolonnen der den erstattet verdiene i en erstattet_ kolonne.
- Posisjon brukes til å spesifisere posisjonen eller plasseringen i erstattet_column slik at verdiene i erstatning_column okkuperer erstattet_column.
Merk - Hvis alle tegnene i verdier erstattes i erstattet_column, fra neste posisjon, vil erstattet_column -tegn vises.
Generelt syntaks:
Dataramme.velg (overlegg (erstattet_column, erstatning_column, posisjon))
Eksempel
I dette eksemplet vil vi erstatte verdier i
- Navnkolonne med alder fra 4. karakter i navnekolonnen
- rollno kolonne med navn fra 2. karakter
#import Pyspark -modulen
Importer pyspark
#import SparkSession for å lage en økt
Fra Pyspark.SQL Import SparkSession
#import overlegg fra pyspark.SQL.funksjoner
Fra Pyspark.SQL.Funksjoner importerer overlegg
#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)
#Replace Values in Name Column with Age fra 4. karakter
df.Velg (Overlay ("Navn", "Alder", 4)).forestilling()
#Replace Values in Rollno Column med navn fra 2. karakter
df.Velg (Overlay ("Rollno", "Name", 2)).forestilling()
Produksjon:
Fra denne utgangen,
- Tegn i alderskolonnen erstattes i navnekolonnen fra den fjerde plasseringen av hver verdi, og resten av tegnene har holdt seg de samme i navnekolonnen.
- Tegn i Navnkolonnen erstattes i Rollno -kolonnen fra 4. plassering av hver verdi, og resten av tegnene har ikke resultert i Rollno -kolonnen siden det totale antallet tegn i Rollno -kolonneverdiene er mindre enn navnekolonneverdier. Det er grunnen til at navnekolonneverdiene er okkupert.
Konklusjon
Fra denne opplæringen så vi hvordan vi kan erstatte strenger i DataFrame -kolonnene Translate () og Overlay () -funksjoner med enkle eksempler.oversetter () brukes til å erstatte strenger i Pyspark DataFrame -kolonne karakter etter karakter. Vi må spesifisere tegnene i en streng som skal erstattes med noen andre tegn. Overlay () brukes til å erstatte verdier i en gitt kolonne med en annen kolonneverdier.