Análise adicional
Você moldou esse conjunto de dados em um formato significativamente diferente do que era antes, mas ainda há algumas coisas a fazer. Você precisa preparar os dados da coluna para uso em análises posteriores e remover algumas colunas intermediárias.
O contexto spark está disponível e pyspark.sql.functions tem como alias o endereço F. Os tipos de pyspark.sql.types já foram importados. O DataFrame split_df está como você o deixou pela última vez. Lembre-se de que você pode usar .printSchema() em um DataFrame na área do console para visualizar os nomes e tipos de coluna.
⚠️ Nota: Se você vir um AttributeError, atualize os exercícios e clique em Run Solution sem clicar em Run Code.
Este exercício faz parte do curso
Limpeza de dados com o PySpark
Instruções do exercício
- Crie uma nova função chamada
retrieverque recebe dois argumentos, as colunas divididas (cols) e o número total de colunas (colcount). Essa função deve retornar uma lista das entradas que ainda não foram definidas como colunas (ou seja, tudo após o item 4 da lista). - Defina a função como um Spark UDF, retornando uma matriz de strings.
- Crie a nova coluna
dog_listusando o endereço UDF e as colunas disponíveis no DataFrame. - Remova as colunas
_c0,colcountesplit_cols.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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('____').____('____').____('____')