2. 2
Quem sou eu?
Vinícius Aires Barros
Ciência da Computação 2016 - UFT
Mestrando em Ciência da Computação - ICMC USP
Laboratório de Sistemas Distribuídos e Programação
Concorrente - LaSDPC
Áreas de Interesse: IoT, Distributed Systems, Big Data (...)
Github: @v4ires
Website: http://viniciusaires.me
3. 1. O que é Big Data?
2. Importância do Java
3. Ferramentas
a. Apache Hadoop
b. Apache Spark
3
Agenda
5. “
5
Big Data é definido como um
conjunto de dados estruturados ou
não estruturados que não puderam
ser percebidos, adquiridos,
gerenciados e processados pelos
modelos tradicionais de hardware e
software.
6. 6
Contexto
● Big Data (5V’s)
○ Volume
○ Variedade
○ Velocidade
○ Veracidade
○ Valor
● Internet das Coisas (IoT)
● Grandes Volumes de
Dados
● Programação Distribuída
e Paralela
● Dados Estruturados, Não
Estruturados e
Semiestruturados
● Bancos de Dados SQL e
NoSQL
● MapReduce
● Apache Hadoop
7. 7
Exemplos:
● Redes Sociais
● Veículos não tripulados
● Dispositivos móveis
Contexto:
● Rede mundial de dispositivos
● Análise de Dados
● Aprendizagem de Máquina
Social, Media & Mobile
8. Importância do Java e JVM no
Ecossistema de Big Data
8
❏ Hadoop
❏ Spark
❏ Drill
❏ Storm
❏ Kafka
❏ Akka
❏ ...
12. “
12
O Apache Hadoop é um software de
código aberto mantido pela Apache
Foundation que tem como propósito
fornecer uma implementação livre
do modelo de programação
MapReduce.
14. 14
Características
❏ Implementação em Java
❏ Arquitetura Mestre Escravo (Master/Slave)
❏ Modelo de Programação MapReduce
❏ Hadoop Distributed File System (HDFS)
❏ Memória Secundária (Disco)
❏ Processamento Distribuído
❏ Escalável
❏ Tolerante a Falhas
15. 15
O que não é?
❏ Linguagem de Programação
❏ Biblioteca de Aprendizagem de Máquina
❏ Processamento em Tempo Real
❏ Solução Definitiva
❏ Hadoop ≠ Spark
21. 21
Hadoop Streaming
● Suporte a outras Linguagens de
Programação;
● Ex: Python, Ruby, JavaScript, C#, outras;
● Qualquer Linguagem de Programação com
stdin e stdout.
23. “
23
O Apache Spark é um software de
código aberto mantido pela Apache
Foundation que tem como propósito
fornecer uma implementação livre e
melhorada do modelo de
programação MapReduce.
24. “
24
UC Berkeley
Lab
Spark se torna um
projeto Top Level da
Apache
2009
Open Source
2010
Projeto da
Fundação
Apache
2013 2014
Spark 2.2.1
2017
Spark Timeline
25. 25
Características
❏ Implementação em Scala
❏ Arquitetura Mestre Escravo (Master/Slave)
❏ Modelo de Programação MapReduce
❏ Resilient Distributed Dataset (RDD)
❏ Memória Principal (RAM)
❏ Processamento Distribuído
❏ Processamento em Tempo Real
❏ Escalável
❏ Tolerante a Falhas
❏ Integração com Hadoop e HDFS
26. 26
O que não é?
❏ Linguagem de Programação
❏ Solução Definitiva
❏ Substituto do Hadoop