Upload
dinhkien
View
230
Download
0
Embed Size (px)
Citation preview
2
Quem sou eu?Vinícius Aires BarrosCiência da Computação 2016 - UFTMestrando em Ciência da Computação - ICMC USPLaboratório de Sistemas Distribuídos e Programação Concorrente - LaSDPCÁreas de Interesse: IoT, Distributed Systems, Big Data (...)Github: @v4ires Website: http://viniciusaires.me
1. O que é Big Data?
2. Importância do Java
3. Ferramentas
a. Apache Hadoop
b. Apache Spark
3
Agenda
“
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
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
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
Importância do Java e JVM no Ecossistema de Big Data
8
❏ Hadoop❏ Spark❏ Drill❏ Storm❏ Kafka❏ Akka❏ ...
“
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.
“
13
Nutch Hadoop (Nutch sub-project)
Hadoop 3.0.0
2002
MapReduce
2003
Google File System (GFS)
2004 2006 2017
Hadoop 2.2
2010
Hadoop Timeline
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
O que não é?
❏ Linguagem de Programação❏ Biblioteca de Aprendizagem de Máquina❏ Processamento em Tempo Real❏ Solução Definitiva❏ Hadoop ≠ Spark
20
Configuração Hadoop
Single Node Multi Node
Documentação Oficial: http://hadoop.apache.org/
CMD’s Básicos
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
O Apache Spark é um software de código aberto mantido pela Apache
Foundation que tem como propósito fornecer uma implementação livre r
melhorada do modelo de programação MapReduce.
“
24
UC Berkeley Lab
Spark se torna um projeto Top Level da
Apache
2009
Open Sourced
2010
Projeto da Fundação
Apache
2013 2014
Spark 2.2.1
2017
Spark Timeline
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