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.
Além disso, a sintaxe de ponto (".") incentiva o uso de nomes de variáveis curtos e não descritivos para os dfs.
Por outro lado, F.col('colA') sempre fará referência a uma coluna designada no dataframe que está sendo operado, denominado df neste caso.
0 Comments