Algo que podemos perder como engenheiros quando falamos AQE - Adaptive Query Execution
sobre Spark/Databricks:
Se você estiver usando coalesce()
para reduzir partições, o AQE não afetará isso. Sem detecção de distorção. Sem reparticionamento. Sem otimização. Porque coalesce()
não executa embaralhamento completo (como repartition()
) - ele mescla partições existentes sem redistribuir. É assim que a distorção de dados pode aparecer silenciosamente coalesce()
e interromper ou tornar seus trabalhos mais lentos. Achei a documentação um pouco confusa. O AQE intervirá após você fazer algo repartition()
que acione um embaralhamento completo. Este entendimento está correto? A documentação parece pouco clara neste cenário.