...
É 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 | ||
---|---|---|
| ||
# 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 |
...