Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

É altamente recomendável evitar o uso de UDFS em todas as situações, pois são drasticamente menos performáticas do que Pyspark nativo. Na maioria das situações a lógica que parece exigir uma UDF, pode ser refatorada para usar apenas funções nativas Pyspark.

Joins

Cuidado com os joins! Se você executar um left join e o lado direito tiver matches múltiplos para uma key, essa linha será duplicada quantas vezes houver correspondência. Sempre verifique suas suposições para ver se a chave na qual você está fazendo o join é única a menos que fvocê esteja esperando ao menos que esteja esperando a multiplicação de linhas.

Joins ruins são as fonte de múltiplos problemas difíceis de depurar. Algumas práticas podem ajudar como declarar o how explicitamente, mesmo se você estiver utilizando o join default (inner):

Code Block
languagepy
# ruim 
flights = flights.join(aircraft, 'aircraft_id')

# ruim também
flights = flights.join(aircraft, 'aircraft_id', 'inner')

# bom
flights = flights.join(aircraft, 'aircraft_id', how='inner')

Info

Para maiores informações utilize a documentação oficial da Apache Spark :

https://spark.apache.org/docs/latest/sql-programming-guide.html

...