CommencerCommencez gratuitement

Nombre par image

Votre prochaine étape pour construire un pipeline de données pour cet ensemble consiste à créer quelques colonnes orientées analyse. On vous demande de calculer le nombre de chiens repérés dans chaque image à partir de votre colonne dog_list créée précédemment. Vous avez également créé le DogType, qui permettra une meilleure analyse des données dans certaines colonnes.

Le joined_df est disponible tel que vous l’avez défini en dernier, et le DogType de type StructType est défini. pyspark.sql.functions est disponible sous l’alias F.

Cet exercice fait partie du cours

<cours>Nettoyer des données avec PySpark</cours>
Voir le cours

Instructions de l’exercice

  • Créez une fonction Python pour découper chaque entrée de dog_list en ses parties correspondantes. Assurez-vous de convertir les chaînes dans les types appropriés, sinon DogType ne sera pas correctement interprété.
  • Créez une UDF à partir de la fonction ci-dessus.
  • Utilisez la UDF pour créer une nouvelle colonne appelée dogs.
  • Affichez le nombre de chiens dans la nouvelle colonne pour les 10 premières lignes.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create a function to return the number and type of dogs as a tuple
def dogParse(doglist):
  dogs = []
  for dog in doglist:
    (breed, start_x, start_y, end_x, end_y) = dog.____('____')
    dogs.append((____, int(____), ____, ____, ____))
  return dogs

# Create a UDF
udfDogParse = ____(____, ArrayType(____))

# Use the UDF to list of dogs
joined_df = joined_df.____('____', ____('____'))

# Show the number of dogs in the first 10 rows
joined_df.____(____('____')).____(____)
Modifier et exécuter le code