Data Science Academy plcosta@outlook.
com 5ea84f6ee32fc3671830a333
Big Data Real-Time Analytics Com Python e Spark 3.0
Big Data Real-Time Analytics Com Python e Spark 3.0
Big Data Real-Time Analytics
Com Python e Spark
Versão 3.0
RDD's - Resilient Distributed Datasets
Data Science Academy
[Link]
Data Science Academy plcosta@[Link] 5ea84f6ee32fc3671830a333
Big Data Real-Time Analytics Com Python e Spark 3.0
RDD é uma coleção de objetos, distribuída e imutável. Cada conjunto de dados no
RDD é dividido em partições lógicas, que podem ser computados em diferentes nodes do
cluster.
Os RDDs são imutáveis. Ainda que aparentemente seja possível modificar um RDD
com uma transformação, na verdade o resultado dessa transformação é um novo RDD, sendo
que o original permanece intocável.
Formalmente, um RDD é uma coleção de objetos read-only, ou seja, uma vez criado
um RDD ele é apenas para leitura. RDDs podem ser criados a partir de arquivos locais, HDFS,
bancos de dados relacionais ou não relacionais ou mesmo a partir de outros RDDs. RDD é um
conjunto de elementos tolerante a falhas e que pode ser operado em paralelo.
Existem 2 formas de criar o RDD:
• Paralelizando uma coleção existente (função [Link])
• Referenciando um dataset externo (HDFS, RDBMS, NoSQL, S3)
As RDD’s são a essência do funcionamento do Spark. Com o conceito de RDD, o Spark
armazena os resultados intermediários em memória, permitindo que operações iterativas
que precisam acessar os dados diversas vezes, possam recorrer a memória do computador e
não ao disco. Os dados serão gravados em disco apenas ao fim do processo ou se durante o
processo, não houver memória disponível. Lembre que estamos falando aqui de cluster de
compuatdores, com Terabytes de memória RAM quando se combina a memória de cada node
do cluster.
Data Science Academy
[Link]
Data Science Academy plcosta@[Link] 5ea84f6ee32fc3671830a333
Big Data Real-Time Analytics Com Python e Spark 3.0
No Hadoop MapReduce (que não possui o conceito de RDD), cada resultado
intermediário é gravado em disco. Ou seja, imagine um algoritmo de ML que precisa realizar
diversas iterações nos dados. O disco será usado com muito frequência, deixando o processo
mais lento.
Por padrão, os RDD’s são computados cada vez que executamos uma Ação.
Entretanto, podemos ”persistir” o RDD na memória (ou mesmo no disco) de modo que os
dados estejam disponíveis ao longo do cluster e possam ser processados de forma muito mais
rápida pelas operações de análise de dados criadas por você, Cientista de Dados.
O RDD suporta dois tipos de operações: Transformação e Ação.
Data Science Academy
[Link]