Pyspark Translate & Overlay

Pyspark Translate & Overlay
“In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame.

Discuteremo due funzioni: traduzione () e overlay () in pyspark.

Discutiamolo uno per uno. Prima di allora, dobbiamo creare un frame dati pyspark per la dimostrazione."

Esempio

Creeremo un frame dati con 5 righe e 6 colonne e visualizzeremo il metodo show ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Display DataFrame
df.spettacolo()

Produzione:

Pyspark Translate ()

Translate () viene utilizzato per sostituire le stringhe in Pyspark DataFrame Colonna Carattere. Dobbiamo specificare i caratteri in una stringa da sostituire con altri caratteri. Ci vogliono tre parametri.

Sintassi:

Translate (colonna, "effettivo_characters", "repacing_characters")

Dove,

  1. la colonna è il nome della colonna in cui i caratteri vengono sostituiti in questa colonna.
  2. Actual_Characters sono i caratteri presenti nelle stringhe della colonna data.
  3. Sostitcing_Characters sono i caratteri che sostituiscono gli attuali_characters uno per uno.

Nota - Il numero di caratteri negli attuali_characters deve essere uguale al numero di sostituti_characters.

Translate () può essere utilizzato con il metodo WithColumn ().

Sintassi complessiva:

DataFrame.withColumn (colonna, traduzione (colonna, "effettivo_characters", "repacing_characters"))

Esempio 1

In questo esempio, stiamo traducendo i personaggi - Gunhy in @$%^e nella colonna dell'indirizzo.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import traduci da pyspark.SQL.funzioni
da pyspark.SQL.Funzioni Importazione Translate
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Transla i personaggi - Gunhy a @$%^&
df.withColumn ('indirizzo', traduzione ('indirizzo', 'gunhy', '@$%^&')).spettacolo()

Produzione:

Possiamo vedere che nella colonna dell'indirizzo - le stringhe che contengono

  1. G è tradotto in @
  2. u è tradotto in $
  3. n è tradotto in %
  4. h è tradotto in ^
  5. Y è tradotto in &

Esempio 2

In questo esempio, stiamo traducendo i personaggi - Jaswi in 56434 nella colonna Nome.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import traduci da pyspark.SQL.funzioni
da pyspark.SQL.Funzioni Importazione Translate
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Translate i personaggi - Jaswi a 56434 nella colonna Nome
df.withColumn ('Name', Translate ('Name', 'Jaswi', '56434')).spettacolo()

Produzione:

Possiamo vederlo nella colonna Nome: le stringhe che contengono

  1. J è tradotto in 5
  2. A è tradotto in 6
  3. S è tradotto in 4
  4. W è tradotto in 3
  5. Sono tradotto in 4

Pyspark overlay ()

overlay () viene utilizzato per sostituire i valori in una data colonna con un altro valori di colonna. Ci vogliono tre parametri. Può essere usato con una clausola selezionata.

Sintassi:

overlay (sostituito_column, sostituzione_column, posizione)

Dove,

  1. sostituito_column è la colonna in cui vengono sostituiti i valori.
  2. SostitCing_Column è la colonna in cui ha sostituito i valori in una colonna sostituita_.
  3. La posizione viene utilizzata per specificare la posizione o la posizione in sostituito_column in modo che i valori in sostituzione_column occupy sostituite_column.

Nota - Se tutti i caratteri in valori vengono sostituiti in sostituito_column, dalla posizione successiva, appariranno i caratteri sostituiti_column.

Sintassi complessiva:

DataFrame.Select (overlay (sostituita_column, sostituzione_column, posizione))

Esempio

In questo esempio, sostituiremo i valori in

  1. colonna Nome con l'età del 4 ° carattere nella colonna Nome
  2. colonna rollno con nome dal 2 ° carattere
#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#import overlay da pyspark.SQL.funzioni
da pyspark.SQL.Funzioni Importa overlay
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Students = ['rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16, 'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7, 'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9, 'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37, 'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#replace valori nella colonna Nome con l'età del 4 ° carattere
df.Seleziona (overlay ("nome", "età", 4)).spettacolo()
#replace valori nella colonna rollno con nome dal 2 ° carattere
df.Seleziona (overlay ("rollno", "nome", 2).spettacolo()

Produzione:

Da questo output,

  1. I caratteri nella colonna di età vengono sostituiti nella colonna Nome dalla 4a posizione di ogni valore e il resto dei caratteri è rimasto lo stesso nella colonna del nome.
  2. I caratteri nella colonna Nome vengono sostituiti nella colonna Rollno dalla 4a posizione di ogni valore e il resto dei caratteri non ha portato alla colonna Rollno poiché il numero totale di caratteri nei valori della colonna Rollno è inferiore ai valori della colonna del nome. Ecco perché i valori della colonna del nome sono occupati.

Conclusione

Da questo tutorial, abbiamo visto come sostituire le stringhe nelle colonne di dati traduci () e overlay () con semplici esempi.Translate () viene utilizzato per sostituire le stringhe in Pyspark DataFrame Colonna Carattere. Dobbiamo specificare i caratteri in una stringa da sostituire con altri caratteri. overlay () viene utilizzato per sostituire i valori in una data colonna con un altro valori di colonna.