Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current Restore this Version View Version History

« Previous Version 3 Next »

PySpark é uma linguagem que permite aos usuários interagir com um back-end Apache Spark para processar dados rapidamente.

O Spark pode operar em grandes conjuntos de dados em uma rede distribuída de servidores, oferecendo grandes benefícios de desempenho e confiabilidade quando utilizado corretamente.

Este guia apresenta situações comuns que encontramos e as práticas recomendadas associadas.

Prefira a seleção de coluna implícita para acesso direto, exceto para desambiguação

# ruim
df = df.select(F.lower(df1.colA). F.upper(df2.colB))
# bom
df = df.select(F.lower(F.col('colA')), F.upper(F.col('colB')))
# melhor - desde Spark 3.0
df = df.select(F.lower('colA'), F.upper('colB'))

Na maioria das situações, é melhor evitar o primeiro e segundo estilos e apenas referenciar a coluna pelo nome, usando uma string, como no terceiro exemplo. O Spark 3.0 expandiu bastante os casos em que o terceiro estilo funciona. Quando o método string não é possível, entretanto, devemos recorrer a uma abordagem mais detalhada.

  • Se o nome da variável do dataframe for grande, as expressões que o envolvem rapidamente se tornarão complicadas;

  • Se o nome da coluna tiver um espaço ou outro caractere não suportado, o operador colchete deverá ser usado. Isso gera inconsistência, e df1['colA'] é tão difícil de escrever quanto F.col('colA');

  • As expressões de coluna envolvendo o dataframe não são reutilizáveis e não podem ser usadas para definir funções abstratas;

  • Renomear uma variável de dataframe pode ser propenso a erros, pois todas as referências de coluna devem ser atualizadas em conjunto.