CommencerCommencer gratuitement

Utiliser des fonctions définies par l'utilisateur dans Spark

Vous avez vu une partie de la puissance derrière les fonctions string intégrées de Spark lorsqu'il s'agit de manipuler des DataFrame. Cependant, à partir d'un certain point, il devient difficile de traiter les données sans créer un nid à rats d'appels de fonctions. Voici un endroit où vous pouvez utiliser des fonctions définies par l'utilisateur pour manipuler nos DataFrame.

Pour cet exercice, nous utiliserons notre DataFrame voter_df, mais vous remplacerez la colonne first_name par le prénom et le second prénom.

La bibliothèque pyspark.sql.functions est disponible sous l'alias F. Les classes de pyspark.sql.types sont déjà importées.

Cet exercice fait partie du cours

Nettoyer des données avec PySpark

Afficher le cours

Instructions

  • Modifiez la fonction getFirstAndMiddle() pour qu'elle renvoie une chaîne de noms séparés par des espaces, à l'exception de la dernière entrée de la liste de noms.
  • Définissez la fonction comme une fonction définie par l'utilisateur. Il doit renvoyer une chaîne de caractères.
  • Créez une nouvelle colonne sur voter_df appelée first_and_middle_name en utilisant votre UDF.
  • Affichez le cadre de données.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

def getFirstAndMiddle(names):
  # Return a space separated string of names
  return ' '.join(____)

# Define the method as a UDF
udfFirstAndMiddle = F.____(____, ____)

# Create a new column using your UDF
voter_df = voter_df.withColumn('first_and_middle_name', ____(____))

# Show the DataFrame
____
Modifier et exécuter le code