Usando funções de janela SQL em vez de join e groupBy - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando funções de janela SQL em vez de join e groupBy

Funções de janela (Spark documentação) executam um cálculo em um grupo de linhas, chamado de janela, que de alguma forma se relacionam com o registro atual. Por exemplo, eles podem estar na mesma partição ou quadro da linha atual. As funções de janela são incorporadas ao Spark e são semelhantes às funções agregadas. Funções agregadas, como SUM ou MAX, operam em um grupo de linhas e calculam um único valor de retorno para cada grupo. As funções de janela são úteis para processar tarefas, como calcular uma média móvel ou acessar o valor das linhas com base na posição relativa da linha atual.

A ferramenta Spark groupByfunção coleta dados em grupos e executa funções agregadas nos dados agrupados. Quando você usagroupBy, Spark agrega parcialmente os dados primeiro e depois embaralha o conjunto de dados reduzido. Quando você usa funções de janela, todo o conjunto de dados é embaralhado. As funções de janela podem fornecer tempos de execução mais rápidos.

Em conjuntos de dados muito grandes, se a cardinalidade da coluna for grande, as funções de janela serão recomendadas. No entanto, se a cardinalidade da coluna for pequena, a agregação de dados será pequena e o resultado agregado poderá ser transmitido na junção.