«Dans Python, Pyspark est un module Spark utilisé pour fournir un type de traitement similaire comme Spark en utilisant DataFrame.
Nous discuterons de deux fonctions: tradlate () et superlay () dans Pyspark.
Discutons-le un par un. Avant cela, nous devons créer un pyspark dataframe pour la démonstration."
Exemple
Nous allons créer un dataframe avec 5 lignes et 6 colonnes et l'afficher à l'aide de la méthode Show ().
# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'Âge': 23, 'height': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16, 'height': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7, 'height': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9, 'height': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37, 'height': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#display dataframe
df.montrer()
Sortir:
Pyspark tradlate ()
tradlate () est utilisé pour remplacer les chaînes dans le caractère de la colonne Pyspark DataFrame par caractère. Nous devons spécifier les caractères d'une chaîne à remplacer par d'autres caractères. Il faut trois paramètres.
Syntaxe:
traduire (colonne, «réel_characters», «relacing_characters»)
Où,
- la colonne est le nom de la colonne dans laquelle les caractères sont remplacés dans cette colonne.
- réel_characters sont les caractères présents dans les chaînes de la colonne donnée.
- Le remplacement de_Characters sont les caractères qui remplacent celui réel_Characters un par un.
Note - Le nombre de caractères dans le_Characters réel doit être égal au nombre de remplacement_characters.
tradlate () peut être utilisé avec la méthode witholumn ().
Syntaxe globale:
trame de données.WithColumn (colonne, tradlate (colonne, «réel_characters», «re-lien_characters»))
Exemple 1
Dans cet exemple, nous traduisons les caractères - Gunhy en @ $% ^ & dans la colonne d'adresse.
# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#Import traduire de Pyspark.SQL.les fonctions
de Pyspark.SQL.Les fonctions importaient traduire
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'Âge': 23, 'height': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16, 'height': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7, 'height': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9, 'height': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37, 'height': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#Translate les personnages - Gunhy à @ $% ^ &
df.withColumn ('adresse', tradlate ('adresse', 'gunhy', '@ $% ^ &')).montrer()
Sortir:
Nous pouvons voir que dans la colonne d'adresse - les chaînes qui contiennent
- G est traduit en @
- u est traduit en $
- n est traduit en%
- h est traduit en ^
- y est traduit en &
Exemple 2
Dans cet exemple, nous traduisons les caractères - Jaswi à 56434 dans la colonne du nom.
# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
#Import traduire de Pyspark.SQL.les fonctions
de Pyspark.SQL.Les fonctions importaient traduire
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'Âge': 23, 'height': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16, 'height': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7, 'height': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9, 'height': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37, 'height': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#Translate les caractères - Jaswi à 56434 dans la colonne du nom
df.withColumn ('name', tradlate ('name', 'Jaswi', '56434')).montrer()
Sortir:
Nous pouvons voir que dans la colonne du nom - les chaînes qui contiennent
- J est traduit en 5
- A est traduit en 6
- S est traduit en 4
- W est traduit en 3
- I est traduit en 4
Pyspark superposition ()
overlay () est utilisé pour remplacer les valeurs dans une colonne donnée par une autre colonne de valeurs. Il faut trois paramètres. Il peut être utilisé avec une clause de sélection.
Syntaxe:
superposition (remplacé_column, remplacement_column, position)
Où,
- remplacé_column est la colonne dans laquelle les valeurs sont remplacées.
- Remplacement_Column est la colonne dans laquelle il a remplacé les valeurs dans une colonne remplacée.
- La position est utilisée pour spécifier la position ou l'emplacement dans remplacé_column de telle sorte que les valeurs de remplacement_column occupent remplacé_column.
Note - Si tous les caractères dans les valeurs sont remplacés dans remplacé_column, à partir de la position suivante, les caractères remplacés_column apparaîtront.
Syntaxe globale:
trame de données.sélectionnez (superposition (remplacé_column, remplacement_column, position)))
Exemple
Dans cet exemple, nous remplacerons les valeurs en
- Colonne de nom avec l'âge de 4 e caractère dans la colonne de nom
- colonne Rollno avec nom du 2ème caractère
# importer le module Pyspark
Importer Pyspark
#mport Sparkcession pour la création d'une session
de Pyspark.SQL IMPORT SPARKSESSE
# import superposition de pyspark.SQL.les fonctions
de Pyspark.SQL.Fonctions Import Superposition
#create une application nommée Linuxhint
Spark_App = Sparkcession.constructeur.appname ('Linuxhint').getorCreate ()
# Créer des données étudiants avec 5 lignes et 6 attributs
étudiants = ['rollno': '001', 'name': 'sravan', 'Âge': 23, 'height': 5.79, «poids»: 67, «adresse»: «guntur»,
'rollno': '002', 'name': 'ojaswi', 'Âge': 16, 'height': 3.79, «poids»: 34, «adresse»: «hyd»,
'rollno': '003', 'name': 'gnanesh chowdary', 'Âge': 7, 'height': 2.79, «poids»: 17, «adresse»: «patna»,
'rollno': '004', 'name': 'rohith', 'Âge': 9, 'height': 3.69, «poids»: 28, «adresse»: «hyd»,
'rollno': '005', 'name': 'sridevi', 'Âge': 37, 'height': 5.59, «poids»: 54, «adresse»: «hyd»]
# Créer le DataFrame
df = spark_app.CreatedataFrame (étudiants)
#replace valeurs dans la colonne de nom avec l'âge de 4 e caractère
df.SELECT (superposition ("nom", "âge", 4)).montrer()
#Replace Valeurs dans la colonne Rollno avec nom du 2ème caractère
df.select (superposition ("rollno", "nom", 2)).montrer()
Sortir:
De cette sortie,
- Les caractères de la colonne d'âge sont remplacés dans la colonne de nom de la 4e position de chaque valeur, et les autres caractères sont restés les mêmes dans la colonne de nom.
- Les caractères de la colonne de nom sont remplacés dans la colonne RollNo à partir de la 4e position de chaque valeur, et le reste des caractères n'a pas abouti à la colonne RollNO car le nombre total de caractères dans les valeurs de colonne RollNO est inférieure aux valeurs de colonne de nom. C'est pourquoi les valeurs de colonne de nom sont occupées.
Conclusion
À partir de ce didacticiel, nous avons vu comment remplacer les chaînes dans les fonctions DataFrame tradlate () et superlay () par des exemples simples.tradlate () est utilisé pour remplacer les chaînes dans le caractère de la colonne Pyspark DataFrame par caractère. Nous devons spécifier les caractères d'une chaîne à remplacer par d'autres caractères. overlay () est utilisé pour remplacer les valeurs dans une colonne donnée par une autre colonne de valeurs.