ComenzarEmpieza gratis

Análisis posterior

Has moldeado este conjunto de datos en un formato significativamente diferente al que tenía antes, pero aún quedan algunas cosas por hacer. Tienes que preparar los datos de las columnas para utilizarlos en análisis posteriores y eliminar algunas columnas intermedias.

El contexto spark está disponible y pyspark.sql.functions tiene el alias F. Los tipos de pyspark.sql.types ya están importados. El DataFrame split_df está como lo dejaste la última vez. Recuerda que puedes utilizar .printSchema() en un Marco de datos en el área de la consola para ver los nombres y tipos de las columnas.

⚠️ Nota: Si ves un AttributeError, actualiza los ejercicios y haz clic en Ejecutar solución sin hacer clic en Ejecutar código.

Este ejercicio forma parte del curso

Limpiar datos con PySpark

Ver curso

Instrucciones del ejercicio

  • Crea una nueva función llamada retriever que tome dos argumentos, las columnas divididas (cols) y el número total de columnas (colcount). Esta función debe devolver una lista de las entradas que aún no se han definido como columnas (es decir, todo lo que hay después del elemento 4 de la lista).
  • Define la función como un Spark UDF, devolviendo una Matriz de cadenas.
  • Crea la nueva columna dog_list utilizando el UDF y las columnas disponibles en el DataFrame.
  • Elimina las columnas _c0, colcount, y split_cols.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

def retriever(____, ____):
  # Return a list of dog data
  return ____[4:____]

# Define the method as a UDF
udfRetriever = ____(____, ArrayType(____))

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

# Remove the original column, split_cols, and the colcount
split_df = split_df.drop('____').____('____').____('____')
Editar y ejecutar código