Contenido del curso

Administración y Gestion de la Plataforma de Databricks

Ações em RDDs que todo iniciante precisa saber

Resumen

As ações no Apache Spark são operações que se aplicam sobre os RDDs e disparam a execução imediata de todas as transformações pendentes. A diferença fundamental é simples: enquanto as transformações devolvem um novo RDD modificado, as ações nunca alteram o RDD original. Servem para interagir com os dados, mostrar conteúdo, contar elementos ou recolher resultados.

E aqui vem o ponto que costuma confundir quem está a começar: pensar nas ações como o gatilho que faz tudo acontecer. Sem ação, o Spark guarda apenas o plano de execução. Com ação, o plano corre.

O que faz a função count num RDD?

A função count é uma das ações mais usadas no Spark. O que ela faz é contar quantos elementos existem dentro de um RDD predefinido.

Imagina que paralelizas uma lista e guardas o resultado numa variável chamada num. Ao aplicar num.count(), o Spark executa todas as transformações associadas e devolve o número total de elementos, por exemplo 10. O RDD continua intacto.

O que é uma ação no Apache Spark? É uma operação que dispara a execução das transformações pendentes e devolve um valor ao driver, sem modificar o RDD original.

Como obter elementos específicos com first e take?

Quando precisas inspecionar partes do teu RDD sem trazer tudo de volta, o Spark oferece duas ações diretas e muito práticas.

Para que serve a ação first?

A ação first devolve o primeiro elemento do RDD. Se aplicares num.first() ao objeto criado anteriormente, recebes o valor 1, que é o primeiro elemento da lista. O RDD não sofre qualquer alteração; apenas obténs uma leitura pontual.

Quando usar a ação take?

A ação take permite especificar quantos elementos queres receber. Se executares num.take(3), o Spark devolve os primeiros três elementos: 1, 2 e 3.

É uma forma rápida de espreitar uma amostra inicial sem carregar o RDD inteiro na memória do driver.

Como visualizar todo o conteúdo com collect?

A ação collect devolve todos os elementos do RDD ao driver. Aplicando num.collect(), recebes a lista completa dos valores associados ao RDD.

É útil para validar resultados em ambiente de desenvolvimento, mas exige cuidado: trazer um RDD muito grande para o driver pode esgotar a memória disponível.

Qual a diferença entre transformação e ação no Spark? As transformações criam um novo RDD de forma preguiçosa (lazy), enquanto as ações executam o plano e devolvem um valor concreto sem modificar o RDD.

Que outras ações existem no Apache Spark?

O ecossistema do Spark inclui várias ações que vale a pena conhecer para casos de uso mais específicos.

  • countByKey: pertence à mesma família do count e faz contagens baseadas numa chave, ideal para pares chave-valor.
  • takeSample: devolve uma amostra aleatória de elementos do RDD.
  • Ações de ordenação: permitem ordenar os elementos antes de devolver resultados.
  • Ações de gravação: guardam o RDD em formatos específicos, como ficheiro de texto ou objetos serializados.

Cada uma cobre uma necessidade diferente. Conhecê-las amplia bastante o que consegues fazer dentro do Spark sem recorrer a código auxiliar.

Como praticar transformações e ações em RDDs?

A melhor forma de fixar estes conceitos é replicar tudo no teu próprio ambiente Databricks e resolver os desafios propostos.

  1. Cria um RDD a partir de uma lista com números de 1 a 10.
  2. Filtra os elementos pares usando o RDD criado no exercício anterior.
  3. Encontra os valores máximo e mínimo do RDD.
  4. Calcula a média dos números do RDD.
  5. Realiza uma união de RDDs e obtém o resultado dessa operação.

Em todos os casos, parte do RDD criado no primeiro exercício e investiga os conceitos que não foram detalhados, como funções de agregação ou união. Resolve primeiro por ti e só depois compara com a solução partilhada nos recursos.

Deixa nos comentários qual destas ações te pareceu mais útil ou que dúvidas surgiram ao implementar os exercícios.