...
Code Block | ||
---|---|---|
| ||
# ruim df.select('comments').withColumn('comments', F.col('comments').cast('double')) # bom df.select(F.col('comments').cast('double')) |
Colunas Vazias
Se você precisar adicionar uma coluna vazia para satisfazer um schema, sempre use F.lit(None) para preencher essa coluna. Nunca use uma string vazia ou alguma outra string sinalizando um valor vazio (como NA).
Além de ser semanticamente correto, uma razão prática para utilizar F.lit(None) é preservar a capacidade de usar utilitários como isNull, em vez de verificar strings vazias, nulos e NA, etc.
Code Block | ||
---|---|---|
| ||
# ruim
df = df.withColumn('foo', F.lit(''))
# ruim
df = df.withColumn('foo', F.lit('NA'))
# bom
df = df.withColumn('foo', F.lit(None)) |
Usando Comentários
Enquanto os comentários podem fornecer informações úteis no código, muitas vezes é mais valioso refatorar o código para melhorar sua legibilidade, o código deve ser legível por si mesmo.
Se você estiver usando comentários para explicar a lógica passo a passo, você de refatorar.
UDFS (user defined functions)
É 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.
Info |
---|
Para maiores informações utilize a documentação oficial da Apache Spark : https://spark.apache.org/docs/latest/sql-programming-guide.html |
...