Capítulo 4. Reduções no Spark
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Este capítulo se concentra em transformações de redução em RDDs no Spark. Em particular, trabalharemos com RDDs de pares (chave, valor), que são uma abstração de dados comum necessária para muitas operações no Spark. Algumas operações ETL iniciais podem ser necessárias para colocar os dados em um formato (chave, valor), mas com RDDs de pares é possível realizar qualquer agregação desejada sobre um conjunto de valores.
O Spark suporta várias transformações e acções de redução poderosas. As transformações de redução mais importantes são:
-
reduceByKey() -
combineByKey() -
groupByKey() -
aggregateByKey()
Todas as transformações *ByKey() aceitam uma fonteRDD[(K, V)] e criam um destinoRDD[(K, C)] (para algumas transformações, como reduceByKey(), V e Csão a mesma coisa). A função destas transformações é reduzir todos os valores de uma determinada chave (para todas as chaves únicas), encontrando, por exemplo:
-
A média de todos os valores
-
A soma e a contagem de todos os valores
-
A moda e a mediana de todos os valores
-
O desvio padrão de todos os valores
Seleção da transformação de redução
Tal como acontece com as transformações do mapeador, é importante selecionar a ferramenta certa para o trabalho. Para algumas operações de redução (como encontrar a mediana), o redutor precisa de acesso a todos os valores ao mesmo tempo. Para outras, ...