Exame de linhas inválidas
Você filtrou com sucesso as linhas usando uma união, mas às vezes gostaria de examinar os dados inválidos. Esses dados podem ser armazenados para processamento posterior ou para solucionar problemas em suas fontes de dados.
Você deseja encontrar a diferença entre dois DataFrames e armazenar as linhas inválidas.
O objeto spark
é definido e pyspark.sql.functions
é importado como F
. O DataFrame original split_df
e o DataFrame unido joined_df
estão disponíveis como estavam em seus estados anteriores.
Este exercício faz parte do curso
Limpeza de dados com o PySpark
Instruções do exercício
- Determine a contagem de linhas para cada DataFrame.
- Crie um DataFrame contendo apenas as linhas inválidas.
- Valide se a contagem do novo DataFrame está de acordo com o esperado.
- Determine o número de linhas de pastas distintas removidas.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Determine the row counts for each DataFrame
split_count = ____
joined_count = ____
# Create a DataFrame containing the invalid rows
invalid_df = split_df.____(____(joined_df), '____', '____')
# Validate the count of the new DataFrame is as expected
invalid_count = ____
print(" split_df:\t%d\n joined_df:\t%d\n invalid_df: \t%d" % (split_count, joined_count, invalid_count))
# Determine the number of distinct folder rows removed
invalid_folder_count = invalid_df.____('____').____.____
print("%d distinct invalid folders found" % invalid_folder_count)