Visão geral
- Entenda a diferença entre APIs 3 faíscas: RDD, quadros de dados e conjuntos de dados
- Veremos como criar RDD, quadros de dados e conjuntos de dados.
Introdução
Passaram 11 anos desde Apache Spark começou a existir e, impressionante e continuamente, tornou-se a primeira escolha dos desenvolvedores de big data. Os desenvolvedores sempre adoraram fornecer APIs simples e poderosas que podem realizar qualquer tipo de análise de big data..

Inicialmente, sobre 2011 surgiu com o conceito de RDD, depois em 2013 com Dataframes e mais tarde em 2015 com o conceito de conjuntos de dados. Nenhum deles depreciou, ainda podemos usar todos eles. Neste post, vamos entender e ver a diferença entre os três.
Tabela de conteúdo
- O que são RDD?
- Quando usar RDD?
- O que são frames de dados?
- O que são conjuntos de dados?
- RDD vs Dataframes vs Datasets?
O que são RDD?
RDDs ou conjuntos de dados distribuídos resilientes são a estrutura de dados fundamental do Spark. É a coleção de objetos que é capaz de armazenar os dados particionados nos vários nós do cachoUm cluster é um conjunto de empresas e organizações interconectadas que operam no mesmo setor ou área geográfica, e que colaboram para melhorar sua competitividade. Esses agrupamentos permitem o compartilhamento de recursos, Conhecimentos e tecnologias, Promover a inovação e o crescimento económico. Os clusters podem abranger uma variedade de setores, Da tecnologia à agricultura, e são fundamentais para o desenvolvimento regional e a criação de empregos.... e também lhes permite fazer o Processamento paraleloO processamento paralelo é uma técnica que permite que várias operações sejam executadas simultaneamente, Dividir tarefas complexas em subtarefas menores. Essa metodologia otimiza o uso de recursos computacionais e reduz o tempo de processamento, sendo especialmente útil em aplicações como a análise de grandes volumes de dados, Simulações e renderização gráfica. Sua implementação tornou-se essencial em sistemas de alto desempenho e na computação moderna.....
É tolerante a falhas se você realizar várias transformações no RDD e, em seguida,, para qualquer circustância, Falha alguns nóO Nodo é uma plataforma digital que facilita a conexão entre profissionais e empresas em busca de talentos. Através de um sistema intuitivo, permite que os usuários criem perfis, Compartilhar experiências e acessar oportunidades de trabalho. Seu foco em colaboração e networking torna o Nodo uma ferramenta valiosa para quem deseja expandir sua rede profissional e encontrar projetos que se alinhem com suas habilidades e objetivos..... El RDD, nesse caso, é capaz de se recuperar automaticamente.
Existem 3 alternativas para criar um ASD:
- Paralelo a uma coleta de dados existente
- Referência ao arquivo de dados externos armazenados
- Criação de RDD a partir de um RDD existente
Quando usar RDD?
Podemos usar RDD nas seguintes situações:
- Quando queremos fazer transformações de baixo nível no conjunto de dados. Leia mais sobre transformações RDD: PySpark para realizar transformações
- Não infere automaticamente o esquema dos dados ingeridos, precisamos especificar o esquema de cada conjunto de dados quando criamos um RDD. Aprenda como inferir o esquema RDD aqui: Criação de pipelines de aprendizado de máquina com o PySpark
O que são frames de dados?
Foi introduzido pela primeira vez na versão Spark 1.3 para superar as limitações do Spark RDD. Spark Dataframes são a coleção distribuída de pontos de dados, mas aqui, os dados são organizados em colunas nomeadas. Habilite os desenvolvedores a depurar o código em todo o tempo de execução, o que não era permitido com RDDs.
Os frames de dados podem ler e gravar os dados em vários formatos, como CSV, JSONJSON, o Notação de objeto JavaScript, É um formato leve de troca de dados que é fácil para os humanos lerem e escreverem, e fácil para as máquinas analisarem e gerarem. É comumente usado em aplicativos da web para enviar e receber informações entre um servidor e um cliente. Sua estrutura é baseada em pares de valores-chave, tornando-o versátil e amplamente adotado no desenvolvimento de software.., EURO, HDFSHDFS, o Sistema de Arquivos Distribuído Hadoop, É uma infraestrutura essencial para armazenar grandes volumes de dados. Projetado para ser executado em hardware comum, O HDFS permite a distribuição de dados em vários nós, garantindo alta disponibilidade e tolerância a falhas. Sua arquitetura é baseada em um modelo mestre-escravo, onde um nó mestre gerencia o sistema e os nós escravos armazenam os dados, facilitando o processamento eficiente de informações.. e tabelas COLMEIAHive é uma plataforma de mídia social descentralizada que permite que seus usuários compartilhem conteúdo e se conectem com outras pessoas sem a intervenção de uma autoridade central. Usa a tecnologia blockchain para garantir a segurança e a propriedade dos dados. Ao contrário de outras redes sociais, O Hive permite que os usuários monetizem seu conteúdo por meio de recompensas criptográficas, que incentiva a criação e a troca ativa de informações ..... Já está otimizado para processar grandes conjuntos de dados para a maioria das tarefas de pré-processamento, então não precisamos escrever funções complexas por conta própria.
Usa um otimizador de catalisador para fins de otimização. Se você quiser ler mais sobre o otimizador de catalisador, Eu recomendo fortemente que você leia este post: Tutorial prático para analisar dados usando Spark SQL
Vamos ver como criar um quadro de dados usando o PySpark.
O que são conjuntos de dados?
Spark Datasets é uma extensão da API Data Frames com os benefícios de RDDs e conjuntos de dados. É rápido e oferece uma interface de tipo seguro. Segurança de tipo significa que o compilador irá validar os tipos de dados de todas as colunas no conjunto de dados apenas durante a compilação e irá lançar um erro se houver alguma discrepância nos tipos de dados.

Os usuários de RDD encontrarão algo semelhante ao código, mas é mais rápido que RDD. Pode processar com eficiência dados estruturados e não estruturados.
Ainda não podemos criar conjuntos de dados Spark em Python. A API Dataset está ativada apenas em Scala e Java.
RDD x frames de dados x conjuntos de dados
| RDD | Quadros de dados | Conjuntos de dados | |
| Representação de dados | RDD é uma coleção distribuída de itens de dados sem qualquer esquema. | É também a coleção distribuída organizada nas colunas nomeadas. | É uma extensão de Dataframes com mais recursos, como segurança de tipo e interface orientada a objetos. |
| Melhoria | Nenhum mecanismo de otimização integrado para RDD. Os próprios desenvolvedores devem escrever o código otimizado. | Usa um otimizador de catalisador para otimização. | Também usa um otimizador de catalisador para fins de otimização. |
| Projeção de contorno | Aqui, precisamos definir o esquema manualmente. | Ele descobrirá automaticamente o esquema do conjunto de dados. | Além disso, ele encontrará automaticamente o esquema do conjunto de dados por meio do mecanismo SQL. |
| Operação de agregação | O RDD é mais lento do que os quadros de dados e conjuntos de dados para realizar operações simples, como agrupar dados. | Fornece uma API simples para realizar operações de agregação. Executa agregação mais rápido do que RDDs e conjuntos de dados. | O conjunto de dados é mais rápido do que RDDs, mas um pouco mais lento do que os Dataframes. |
Notas finais
Neste post, Vimos a diferença entre as três principais APIs de Apache SparkO Apache Spark é um mecanismo de processamento de dados de código aberto que permite a análise de grandes volumes de informações de forma rápida e eficiente. Seu design é baseado na memória, que otimiza o desempenho em comparação com outras ferramentas de processamento em lote. O Spark é amplamente utilizado em aplicativos de big data, Aprendizado de máquina e análise em tempo real, graças à sua facilidade de uso e.... Então, para concluir, se você quiser uma semântica rica, abstrações de alto nível, segurança de tipo, elija Dataframes o Datasets. Se você precisar de mais controle sobre a parte de pré-processamento, você sempre pode usar os RDDs.
Eu recomendo fortemente que você verifique esses recursos adicionais no Apache Spark para aumentar seu conhecimento.:
Se você achou esta postagem informativa, Compartilhe com seus amigos, e também se você quiser dar sugestões sobre o que deve ser abordado, sinta-se à vontade para deixá-los nas notas abaixo.



