ComenzarEmpieza gratis

Por número de imágenes

Tu siguiente tarea en la construcción de una canalización de datos para este conjunto de datos es crear unas cuantas columnas orientadas al análisis. Se te ha pedido que calcules el número de perros encontrados en cada imagen basándote en tu columna dog_list creada anteriormente. También has creado la página DogType, que permitirá analizar mejor los datos de algunas de las columnas de datos.

El joined_df está disponible tal y como lo definiste la última vez, y el StructType DogType está definido. pyspark.sql.functions está disponible bajo el alias F.

Este ejercicio forma parte del curso

Limpiar datos con PySpark

Ver curso

Instrucciones de ejercicio

  • Crea una función Python para dividir cada entrada en dog_list en sus partes correspondientes. Asegúrate de convertir las cadenas en los tipos apropiados o DogType no se analizará correctamente.
  • Crea un UDF utilizando la función anterior.
  • Utiliza UDF para crear una nueva columna llamada dogs.
  • Muestra el número de perros en la nueva columna para las 10 primeras filas.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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.____(____('____')).____(____)
Editar y ejecutar código