Eu testando somente o UNION, notei que ele embaralhou a coluna data_de_inicio:
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Eu testando somente o UNION, notei que ele embaralhou a coluna data_de_inicio:
Olá, William! Como vai?
A diferença entre UNION e UNION ALL no Spark (assim como em SQL padrão) é que UNION remove duplicatas, enquanto UNION ALL mantém todas as linhas, incluindo duplicatas.
Quando você usa apenas UNION, o Spark precisa verificar se há duplicatas para removê-las, o que pode causar uma reordenação dos dados, como você observou. Isso acontece porque o Spark precisa reorganizar os dados para identificar e eliminar as duplicatas.
Por outro lado, UNION ALL simplesmente concatena os resultados dos dois dataframes, sem se preocupar com duplicatas, o que geralmente é mais rápido e mantém a ordem dos dados.
Se você não precisa remover duplicatas e quer manter a ordem original dos dados, UNION ALL é a melhor escolha.
Espero ter ajudado!