3. Pág.
Agenda
3
• O Que é Big Data?
• Definição
• Ferramentas para Big Data
• Acesso a Dados
• Programação
• Plataformas
4. Pág.
O que é Big Data?
4
“Any collection of data sets so large and complex that it becomes
difficult to process using … traditional data processing applications.”
(Wikipedia)
“Any collection of data sets so large that it becomes difficult to process
using traditional MATLAB functions, which assume all of the data is in
memory.”
(MATLAB)
5. Pág.
O que é Big Data?
5
“Any collection of data sets so large and complex that it becomes difficult
to process using … traditional data processing applications.”
(Wikipedia)
“Any collection of data sets so large that it becomes difficult to process
using traditional MATLAB functions, which assume all of the data is in
memory.”
(MATLAB)
6. Pág.
O que é Big Data?
6
“Any collection of data sets so large and complex that it becomes difficult
to process using … traditional data processing applications.”
(Wikipedia)
“Any collection of data sets so large that it becomes difficult to process
using traditional MATLAB functions, which assume all of the data is in
memory.”
(MATLAB)
http://stat-computing.org/dataexpo/2009/the-data.html
7. Pág.
Ferramentas para Big Data
Trabalhe no Desktop Escalone a capacidade
conforme necessidade
Explore
Prototype
Access Share/Deploy
Scale
O Processo de Análise de Dados
7
8. Pág.
Ferramentas para Big Data
8
Acesso aos Dados
• 64-bit processors
• Memory Mapped Variables
• Disk Variables
• Databases
• Datastores
Platformas
Desktop (Multicore, GPU)
Clusters
Cloud Computing (MDCS on EC2)
Hadoop
Spark
Programação
Streaming
Block Processing
Parallel-for loops
GPU Arrays
SPMD and Distributed Arrays
MapReduce
TallArrays
9. Pág.
Acesso à Dados - Datastore
9
O objeto datastore permite que se acesse uma coletânea de dados
agrupando-a em pedaços menores. Ele oferece a vantagem de se acessar
conjuntos grandes de dados sem a necessidade de importa-los diretamente
na memória.
Pode ser usado em:
-> Arquivos (1 ou mais)
-> Base de Dados (SQL) (requer Database Tolbox)
-> Em sistemas de arquivos Hadoop.
ds = datastore('airlinesmall.csv');
ds = datastore('hdfs://myserver/data/file1.txt')
ds = datastore(conn,sqlquery)
10. Pág.
Programação – Map Reduce
10
- MapReduce é um framework muito usado para tratamento de Big Data. No
entanto, por possuir uma estrutura rígida, seu uso tem sido reduzido em
benefício de técnicas mais flexíveis como Tall Arrays.
- Com MapReduce a segmentação dos dados é feita automaticamente, e o
processo em si é dividido em duas fases:
- A fase Map é usada para extrair itens de interesse de vários segmentos
de dados. Estes resultados intermediários e seu gerenciamento é feito
automaticamente pelo MapReduce
- Na fase Reduce esses resultados intermediários são analisados e
calcula-se o resultado final.
11. Pág.
Programação – Map Reduce
11
1503 UA LAX -5 -10 2356
540 PS BUR 13 5 186
1920 DL BOS 10 32 1876
1840 DL SFO 0 13 568
272 US BWI 4 -2 359
784 PS SEA 7 3 176
796 PS LAX -2 2 237
1525 UA SFO 3 -5 1867
632 PS SJC 2 -4 245
1610 UA MIA 60 34 1365
2032 DL EWR 10 16 789
2134 DL DFW -2 6 914
1503 UA LAX -5 -10 2356
540 PS BUR 13 5 186
1920 DL BOS 10 32 1876
1840 DL SFO 0 13 568
272 US BWI 4 -2 359
784 PS SEA 7 3 176
796 PS LAX -2 2 237
1525 UA SFO 3 -5 1867
632 US SJC 2 -4 245
1610 UA MIA 60 34 1365
2032 DL EWR 10 16 789
2134 DL DFW -2 6 914
UA
PS
DL
DL
2356
186
1876
568
US
PS
PS
UA
US
UA
DL
DL
245
1365
789
914
359
176
237
1867
UA 2356
PS 186
PS 237
UA 1867
UA 1365
DL 1876
DL 914
US 359
US 245
Data Store Map Reduce
12. Pág.
Programação – Tall Arrays
12
Tall Arrays são um tipo de dado que, combinado com datastores, permitem
que funções MATLAB sejam usadas nativamente em conjuntos de dados que
não cabem na memória.
Tall Arrays são definidos a partir de datastores:
Variáveis derivadas de tall arrays são calculadas com o comando gather()
Tall Arrays suportam diversas toolboxes a algoritmos com alista crescendo a
cada nova versão do MATLAB.
13. Pág.
Plataformas – Hadoop e Spark
13
Usando as plataformas de computação distribuída e servidores de produção
Mathworks, é possível exportar seus modelos desenvolvidos em MATLAB
para servidores rodando Hadoop e Spark sem alterações no algoritmo
desenvolvido.
14. Pág.
Usando as plataformas de computação distribuída e servidores de produção
Mathworks, é possível exportar seus modelos desenvolvidos em MATLAB
para servidores rodando Hadoop e Spark sem alterações no algoritmo
desenvolvido.
Apenas acrescente antes do código informações do seu cluster:
MATLAB também suporta clusters baseados na nuvem, como Amazon EC2,
para serviços de computação distribuída on-demand .
Plataformas – Hadoop e Spark
14