Big Data para programadores convencionais 
Conceitos para quem começa agora! 
Fonte: EMC²
Quem sou eu? 
•Milton Goya 
•Especialista em Banco de Dados e Business Inteligence. 
•Bacharel em Administração de Empresas e Tecnólogo em Processamento de Dados. 
•SERPRO, Banco Itaú, Banco Bradesco, Estrela. 
•Mainframe, DBA, Professor e Instrutor.
Big Data não é novidade! 
•Há décadas temos necessidade de processar grandes volumes de dados. 
•Astronomia, geologia, oceanografia, meteorologia sempre trabalharam com grande quantidade de dados.
Big Data não é novidade! 
•O processamento exige hardware específico, softwares e desenvolvedores com habilidades analíticas específicas. 
•Aumento pela demanda por hardware de baixo custo e softwares que pudessem ser desenvolvidos por programadores com habilidades de programação convencional.
Fonte: EMC²
Fonte: IDGNow
O que é Big Data 
Fonte: EMC²
O que é Big Data 
•Segundo o McKinsey Global Institute [2011], Big Data refere-se: 
–“ao conjunto de dados cujo tamanho está além da capacidade de análise, captura, armazenamento e gerenciamento de uma ferramenta desenvolvida por um software típico”
O que é Big Data 
Fonte: EMC²
O que é Big Data 
•Big Data não deve ser definido em número de terabytes ou petabytes. A quantidade de bytes pode mudar dependendo: 
–do tipo de dados 
–do setor onde a tecnologia está sendo aplicada ou 
–da própria evolução da tecnologia. 
Fonte: QlikView
O que é Big Data 
Fonte: EMC²
O que é Big Data 
Fonte: EMC²
O que é Big Data 
•O termo Big Data implica no uso de metodologias e ferramentas para processamento e análise de dados que possam produzir resultados úteis que não possam ser deduzidas/calculadas, de maneira eficiente, através de outros métodos. 
Fonte: EMC²
O que é Big Data 
Fonte: EMC²
Declaração de problema 
•Como processar Big Data usando o estado-da- arte da tecnologia atual sem “estourar” o limite de tempo e o orçamento? 
Fonte: EMC²
Onde está o “gargalo”? 
•Velocidade das CPUs esta cada vez maior mas... 
•A velocidade de acesso a disco, ou volumes de discos ainda é lenta. 
•O aumento da velocidade de CPU não beneficia muito os programas que tem necessidade de acessar grandes volumes de dados. 
Fonte: Oracle
Procurando soluções 
•As linguagens de programação modernas suportam conceitos de multiprogramação, tais como multi-threading implementados como bibliotecas (por exemplo, pthreads POSIX) para C++ ou buit-in em Java. 
•Os modelos de programação paralela podem ser utilizados para reduzir o tempo de processamento ou manipulação de grandes volumes de dados. 
Fonte: Oracle
Operações em Paralelo 
•Operações não sequenciais são quebradas em múltiplos chunks que são executadas simultaneamente em várias CPUs da mesma máquina. 
•O programa deve ser modelado para tirar proveito do processamento em paralelo. 
Fonte: Oracle
Operações em Paralelo 
•Operações em paralelo aumentam a complexidade do código. 
–Coordenação de tarefas concorrentes: como prevenir que tarefas concorrentes interfiram umas nas outras. 
–Paralelização de algoritmos: nem todo algoritmo pode ser paralelizado. 
–Sincronização e bloqueio de memória compartilhada: protegida por locks ou semáforos para evitar a corrupção de dados. 
Fonte: Oracle
SQL 
•SQL padrão é a forma mais comum de manipulação de dados transacionais. 
•Há anos os SGBD Oracle, DB2 e SQLServer permitem executar operações de consulta e carga em paralelo. 
•Entretanto as consultas paralelas estão restritas ao mesmo nó. 
Fonte: Oracle
MapReduce 
Fonte: EMC²
MapReduce 
•Segundo a IBM [2009], MapReduce é um 
–“Modelo de programação que permite o processamento de dados massivos em um algoritmo paralelo e distribuído, geralmente em um cluster de computadores.” 
•MapReduce é baseado nas operações de Map e Reduce de linguagens funcionais como o LISP. 
Fonte: IBM
MapReduce 
•Trata os dados como um conjunto de pares <Key, Value>. (chave/valor) 
•As operações de entrada leem os dados e geram os pares <Key, Value> 
•O usuário fornece duas funções Map e Reduce, que são chamadas em tempo de execução.
MapReduce 
•Map: 
–Obtêm uma lista de pares <Key, Value>, processa os pares e gera um conjunto de de pares <Key, Value> intermediário. 
–Repassa o valor intermediário para a função Reduce. 
–Cada par é processado em paralelo.
MapReduce 
•Reduce: 
–Processa todos os valores associados com a mesma <Key>. 
–Mescla os valores para formar um conjunto de valores possivelmente menor. 
–Geralmente, apenas um valor de saída de 0 ou 1 é produzido a cada chamada Reduce. 
–Os valores intermediários são fornecidos à função Reduce do usuário por um iterador permitindo identificar listas de valores que são grandes demais para a memória.
Exemplo: Contador de Palavras 
•Considere o exemplo do problema proposto pela IBM: 
–Será contado o número de ocorrências de cada palavra em um grande conjunto de documentos.
Exemplo: Contador de Palavras 
•A função Map emite cada palavra mais uma contagem associada de ocorrências. 
mapper (filename, file-contents): 
for each word in file-contents: 
emit (word, 1)
Exemplo: Contador de Palavras 
•A função Reduce soma todas as contagens emitidas para uma palavra específica. 
reducer (word, values): 
sum = 0 
for each value in values: 
sum = sum + value 
emit (word, sum)
MapReduce – Prós e Contras 
Prós 
Contras 
Modelo conceitual fácil de entender: apenas duas operações 
Não é simples implementar em linguagens de programação convencionais, como Java, C++ e Python. 
Automatiza a distribuição de dados e agregação de resultados. 
O programador deve codificar cada operação de acesso a dados. 
Pode ser incorporado por várias linguagens procedurais. 
A natureza “opaca” das funções Map e Reduce impedem sua otimização. 
Não é preciso preocupar-se com os detalhes da paralelização e recuperação de falhas. 
Elimina locks.
HDFS 
Fonte: EMC²
HDFS 
•O Hadoop Distributed File System (HDFS) é um sistema de arquivos altamente tolerante a falhas projetado para executar em hardware padrão de baixo custo. 
•O HDFS disponibiliza acesso de alto rendimento para os dados do aplicativo e é adequado para aplicativos com grandes conjuntos de dados.
Fonte: EMC²
Hadoop 
•Segundo a Hadoop, “Hadoop é um storage confiável e um sistema analítico” [2014] 
•Composto por duas partes essenciais: 
–o Hadoop Distributed Filesystem (HDFS), sistema de arquivos distribuído e confiável, responsável pelo armazenamento dos dados 
–Hadoop MapReduce, responsável pela análise e processamento dos dados. 
•O nome do projeto veio do elefante de pelúcia que pertencia ao filho do criador, Doug Cutting.
Pig e Pig Latin 
•Pig é um mecanismo para executar os fluxos de dados de modo paralelo ao Hadoop. 
•Usa uma linguagem chamada Pig Latin para expressar esses fluxos de dados. 
•Com a Pig Latin, é possível descrever como os dados de uma ou mais entradas devem ser lidos, processados e, depois, armazenados em uma ou mais saídas de modo paralelo.
Pig e Pig Latin 
•Um programa de Pig Latin consiste de uma série de operações ou transformações que é aplicada aos dados de entrada a fim de produzir a saída.
Pig e Pig Latin 
•Exemplo de programa para analisar os arquivos de log de um web site e encontrar as 10 páginas mais visitadas de cada categoria.
Pig e Pig Latin 
visits = load '/data/visits' as (user, url, time); 
gVisits = group visits by url; 
visitCounts = foreach gVìsits generate urI, count(urlVisits); 
urllnfo = load '/data/urllnfo' as (url, category, pRank); 
visitCounts = join visitCounts by url, urlinfo by url; 
gCategonies = group visitCounts by category; 
topUrls = foreach gCategonies generate top(visitCounts,10); 
Store topUrls into '/data/topUrls';
Hive e HiveQL 
•Hive é framework para soluções de Data Warehousing executado no ambiente Hadoop. 
•HiveQL é uma linguagem declarativa, similar ao SQL, usada para criar programas executáveis no Hive. 
•O compilador HiveQL traduz os comando em HiveQL em jobs do MapReduce e os envia para o Hadoop executar.
Hive e HiveQL 
SELECT * FROM sales 
WHERE amount > 10 AND region = "US“ 
CREATE TABLE food 
(id INT, msg STRING) 
PARTITIONED BY (dt STRING);
Hive e HiveQL 
FROM ( 
FROM docs 
MAP text USING ‘python wc_map.py’ 
AS (word, count) CLUSTER BY word 
) words 
REDUCE word, count USING `python wc_reduce.py’
SDSS 
•O Sloan Digital Sky Survey é o mais ambicioso mapeamento astronômico que já foi feito. 
•Este projeto vai mapear detalhadamente um quarto de todo o céu, determinando as posições e brilhos absolutos de centenas de milhões de objetos celestes. 
•Vai medir as distâncias de mais de um milhão de galáxias e quasares. 
•A medida que o levantamento progride, os dados são liberados para a comunidade científica (e para o público em geral) em incrementos anuais.
SDSS 
•Os cientistas precisam primeiro processar os dados rapidamente (em menos de uma semana) porque os astrônomos do SDSS necessitam das informações para configurar os telescópios para funcionar da forma mais eficiente durante a próxima fase escura da lua. Se passar muito tempo, os objetos alvo irão se por, conforme as estações mudam.
SDSS 
•Os cientistas precisam primeiro processar os dados rapidamente (em menos de uma semana) porque os astrônomos do SDSS necessitam das informações para configurar os telescópios para funcionar da forma mais eficiente durante a próxima fase escura da lua. Se passar muito tempo, os objetos alvo irão se por, conforme as estações mudam.
SDSS 
•As imagens passam por filtros óticos que deixam passar bandas centradas em 354, 476, 628, 769 and 925 nm em comprimento de onda, chamadas respectivamente de u, g, r, i e z. 
1237651758284866523,269.742450488939,-0.000559032663559684,20.75933,18.62895,17.68734,17.24949,17.06834 1237651758285652455,271.497048661584,0.000432606430817509,24.63467,19.80283,19.01332,18.16589,22.8269 1237651758284147974,268.084604422452,-0.000477759959196492,20.11935,18.55714,17.86824,17.52779,17.31551 1237648721254089233,233.360450043607,0.000599034101109869,21.04421,19.43434,18.41128,17.89137,17.50843 1237663526494931611,306.65415889352,0.000642419128947454,22.37276,20.84306,19.75857,19.15853,18.87529 1237656894529209548,309.847614242754,-0.000963889419181835,23.45641,20.69753,18.98959,18.39435,18.04083 1237656894530519858,312.806752181141,-0.000538041014713186,19.80919,18.40785,17.58722,17.13805,16.88819
SDSS e HiveQL 
•Cria tabela para conter os dados que iremos analisar da Galáxia! 
CREATE TABLE galaxy 
(objId BIGINT, ra REAL, dec REAL, u REAL, g REAL, r REAL, i REAL, z REAL)
•Popula a tabela com os dados fornecidos pelo SDSS 
SDSS e HiveQL 
for row in reader: 
cur.execute("INSERT INTO galaxy (objId, ra, dec, u, g, r, i, z) VALUES(?, ?, ?, ?, ?, ?, ?, ?);", to_db)
•Pronto! 
SDSS e HiveQL 
SELECT * FROM galaxy
•Junção entre a tabela de imagens (PhotoOBJ) e a tabela de espectro (SpecObj) 
SDSS e HiveQL 
SELECT TOP 10 
p.objid,p.ra,p.dec,p.u,p.g,p.r,p.i,p.z, 
p.run, p.rerun, p.camcol, p.field, 
s.specobjid, s.class, s.z as redshift, 
s.plate, s.mjd, s.fiberid 
FROM PhotoObj AS p 
JOIN SpecObj AS s ON s.bestobjid = p.objid 
WHERE 
p.u BETWEEN 0 AND 19.6 
AND g BETWEEN 0 AND 20
Para saber mais 
•Software Big Data livre para os Impacientes. 
•Behind Big Data. 
•SDSS-III. 
•MapReduce Tutorial. 
•Big Data in Astronomy. 
•Statistics in Astronomy. 
•Processamento de Dados Distribuídos com Hadoop. 
•Introdução à analítica de dados com base em Hadoop no IBM SmartCloud Enterprise. 
•Mining of Massive Datasets. 
•Escalabilidade horizontal para execução paralela de tarefas. 
•SkyServer DR9

Big data para programadores convencionais

  • 1.
    Big Data paraprogramadores convencionais Conceitos para quem começa agora! Fonte: EMC²
  • 2.
    Quem sou eu? •Milton Goya •Especialista em Banco de Dados e Business Inteligence. •Bacharel em Administração de Empresas e Tecnólogo em Processamento de Dados. •SERPRO, Banco Itaú, Banco Bradesco, Estrela. •Mainframe, DBA, Professor e Instrutor.
  • 4.
    Big Data nãoé novidade! •Há décadas temos necessidade de processar grandes volumes de dados. •Astronomia, geologia, oceanografia, meteorologia sempre trabalharam com grande quantidade de dados.
  • 5.
    Big Data nãoé novidade! •O processamento exige hardware específico, softwares e desenvolvedores com habilidades analíticas específicas. •Aumento pela demanda por hardware de baixo custo e softwares que pudessem ser desenvolvidos por programadores com habilidades de programação convencional.
  • 6.
  • 7.
  • 8.
    O que éBig Data Fonte: EMC²
  • 9.
    O que éBig Data •Segundo o McKinsey Global Institute [2011], Big Data refere-se: –“ao conjunto de dados cujo tamanho está além da capacidade de análise, captura, armazenamento e gerenciamento de uma ferramenta desenvolvida por um software típico”
  • 10.
    O que éBig Data Fonte: EMC²
  • 11.
    O que éBig Data •Big Data não deve ser definido em número de terabytes ou petabytes. A quantidade de bytes pode mudar dependendo: –do tipo de dados –do setor onde a tecnologia está sendo aplicada ou –da própria evolução da tecnologia. Fonte: QlikView
  • 12.
    O que éBig Data Fonte: EMC²
  • 13.
    O que éBig Data Fonte: EMC²
  • 14.
    O que éBig Data •O termo Big Data implica no uso de metodologias e ferramentas para processamento e análise de dados que possam produzir resultados úteis que não possam ser deduzidas/calculadas, de maneira eficiente, através de outros métodos. Fonte: EMC²
  • 15.
    O que éBig Data Fonte: EMC²
  • 16.
    Declaração de problema •Como processar Big Data usando o estado-da- arte da tecnologia atual sem “estourar” o limite de tempo e o orçamento? Fonte: EMC²
  • 17.
    Onde está o“gargalo”? •Velocidade das CPUs esta cada vez maior mas... •A velocidade de acesso a disco, ou volumes de discos ainda é lenta. •O aumento da velocidade de CPU não beneficia muito os programas que tem necessidade de acessar grandes volumes de dados. Fonte: Oracle
  • 18.
    Procurando soluções •Aslinguagens de programação modernas suportam conceitos de multiprogramação, tais como multi-threading implementados como bibliotecas (por exemplo, pthreads POSIX) para C++ ou buit-in em Java. •Os modelos de programação paralela podem ser utilizados para reduzir o tempo de processamento ou manipulação de grandes volumes de dados. Fonte: Oracle
  • 19.
    Operações em Paralelo •Operações não sequenciais são quebradas em múltiplos chunks que são executadas simultaneamente em várias CPUs da mesma máquina. •O programa deve ser modelado para tirar proveito do processamento em paralelo. Fonte: Oracle
  • 20.
    Operações em Paralelo •Operações em paralelo aumentam a complexidade do código. –Coordenação de tarefas concorrentes: como prevenir que tarefas concorrentes interfiram umas nas outras. –Paralelização de algoritmos: nem todo algoritmo pode ser paralelizado. –Sincronização e bloqueio de memória compartilhada: protegida por locks ou semáforos para evitar a corrupção de dados. Fonte: Oracle
  • 21.
    SQL •SQL padrãoé a forma mais comum de manipulação de dados transacionais. •Há anos os SGBD Oracle, DB2 e SQLServer permitem executar operações de consulta e carga em paralelo. •Entretanto as consultas paralelas estão restritas ao mesmo nó. Fonte: Oracle
  • 22.
  • 23.
    MapReduce •Segundo aIBM [2009], MapReduce é um –“Modelo de programação que permite o processamento de dados massivos em um algoritmo paralelo e distribuído, geralmente em um cluster de computadores.” •MapReduce é baseado nas operações de Map e Reduce de linguagens funcionais como o LISP. Fonte: IBM
  • 24.
    MapReduce •Trata osdados como um conjunto de pares <Key, Value>. (chave/valor) •As operações de entrada leem os dados e geram os pares <Key, Value> •O usuário fornece duas funções Map e Reduce, que são chamadas em tempo de execução.
  • 25.
    MapReduce •Map: –Obtêmuma lista de pares <Key, Value>, processa os pares e gera um conjunto de de pares <Key, Value> intermediário. –Repassa o valor intermediário para a função Reduce. –Cada par é processado em paralelo.
  • 26.
    MapReduce •Reduce: –Processatodos os valores associados com a mesma <Key>. –Mescla os valores para formar um conjunto de valores possivelmente menor. –Geralmente, apenas um valor de saída de 0 ou 1 é produzido a cada chamada Reduce. –Os valores intermediários são fornecidos à função Reduce do usuário por um iterador permitindo identificar listas de valores que são grandes demais para a memória.
  • 27.
    Exemplo: Contador dePalavras •Considere o exemplo do problema proposto pela IBM: –Será contado o número de ocorrências de cada palavra em um grande conjunto de documentos.
  • 28.
    Exemplo: Contador dePalavras •A função Map emite cada palavra mais uma contagem associada de ocorrências. mapper (filename, file-contents): for each word in file-contents: emit (word, 1)
  • 29.
    Exemplo: Contador dePalavras •A função Reduce soma todas as contagens emitidas para uma palavra específica. reducer (word, values): sum = 0 for each value in values: sum = sum + value emit (word, sum)
  • 30.
    MapReduce – Próse Contras Prós Contras Modelo conceitual fácil de entender: apenas duas operações Não é simples implementar em linguagens de programação convencionais, como Java, C++ e Python. Automatiza a distribuição de dados e agregação de resultados. O programador deve codificar cada operação de acesso a dados. Pode ser incorporado por várias linguagens procedurais. A natureza “opaca” das funções Map e Reduce impedem sua otimização. Não é preciso preocupar-se com os detalhes da paralelização e recuperação de falhas. Elimina locks.
  • 31.
  • 32.
    HDFS •O HadoopDistributed File System (HDFS) é um sistema de arquivos altamente tolerante a falhas projetado para executar em hardware padrão de baixo custo. •O HDFS disponibiliza acesso de alto rendimento para os dados do aplicativo e é adequado para aplicativos com grandes conjuntos de dados.
  • 33.
  • 34.
    Hadoop •Segundo aHadoop, “Hadoop é um storage confiável e um sistema analítico” [2014] •Composto por duas partes essenciais: –o Hadoop Distributed Filesystem (HDFS), sistema de arquivos distribuído e confiável, responsável pelo armazenamento dos dados –Hadoop MapReduce, responsável pela análise e processamento dos dados. •O nome do projeto veio do elefante de pelúcia que pertencia ao filho do criador, Doug Cutting.
  • 35.
    Pig e PigLatin •Pig é um mecanismo para executar os fluxos de dados de modo paralelo ao Hadoop. •Usa uma linguagem chamada Pig Latin para expressar esses fluxos de dados. •Com a Pig Latin, é possível descrever como os dados de uma ou mais entradas devem ser lidos, processados e, depois, armazenados em uma ou mais saídas de modo paralelo.
  • 36.
    Pig e PigLatin •Um programa de Pig Latin consiste de uma série de operações ou transformações que é aplicada aos dados de entrada a fim de produzir a saída.
  • 37.
    Pig e PigLatin •Exemplo de programa para analisar os arquivos de log de um web site e encontrar as 10 páginas mais visitadas de cada categoria.
  • 38.
    Pig e PigLatin visits = load '/data/visits' as (user, url, time); gVisits = group visits by url; visitCounts = foreach gVìsits generate urI, count(urlVisits); urllnfo = load '/data/urllnfo' as (url, category, pRank); visitCounts = join visitCounts by url, urlinfo by url; gCategonies = group visitCounts by category; topUrls = foreach gCategonies generate top(visitCounts,10); Store topUrls into '/data/topUrls';
  • 39.
    Hive e HiveQL •Hive é framework para soluções de Data Warehousing executado no ambiente Hadoop. •HiveQL é uma linguagem declarativa, similar ao SQL, usada para criar programas executáveis no Hive. •O compilador HiveQL traduz os comando em HiveQL em jobs do MapReduce e os envia para o Hadoop executar.
  • 40.
    Hive e HiveQL SELECT * FROM sales WHERE amount > 10 AND region = "US“ CREATE TABLE food (id INT, msg STRING) PARTITIONED BY (dt STRING);
  • 41.
    Hive e HiveQL FROM ( FROM docs MAP text USING ‘python wc_map.py’ AS (word, count) CLUSTER BY word ) words REDUCE word, count USING `python wc_reduce.py’
  • 42.
    SDSS •O SloanDigital Sky Survey é o mais ambicioso mapeamento astronômico que já foi feito. •Este projeto vai mapear detalhadamente um quarto de todo o céu, determinando as posições e brilhos absolutos de centenas de milhões de objetos celestes. •Vai medir as distâncias de mais de um milhão de galáxias e quasares. •A medida que o levantamento progride, os dados são liberados para a comunidade científica (e para o público em geral) em incrementos anuais.
  • 43.
    SDSS •Os cientistasprecisam primeiro processar os dados rapidamente (em menos de uma semana) porque os astrônomos do SDSS necessitam das informações para configurar os telescópios para funcionar da forma mais eficiente durante a próxima fase escura da lua. Se passar muito tempo, os objetos alvo irão se por, conforme as estações mudam.
  • 44.
    SDSS •Os cientistasprecisam primeiro processar os dados rapidamente (em menos de uma semana) porque os astrônomos do SDSS necessitam das informações para configurar os telescópios para funcionar da forma mais eficiente durante a próxima fase escura da lua. Se passar muito tempo, os objetos alvo irão se por, conforme as estações mudam.
  • 45.
    SDSS •As imagenspassam por filtros óticos que deixam passar bandas centradas em 354, 476, 628, 769 and 925 nm em comprimento de onda, chamadas respectivamente de u, g, r, i e z. 1237651758284866523,269.742450488939,-0.000559032663559684,20.75933,18.62895,17.68734,17.24949,17.06834 1237651758285652455,271.497048661584,0.000432606430817509,24.63467,19.80283,19.01332,18.16589,22.8269 1237651758284147974,268.084604422452,-0.000477759959196492,20.11935,18.55714,17.86824,17.52779,17.31551 1237648721254089233,233.360450043607,0.000599034101109869,21.04421,19.43434,18.41128,17.89137,17.50843 1237663526494931611,306.65415889352,0.000642419128947454,22.37276,20.84306,19.75857,19.15853,18.87529 1237656894529209548,309.847614242754,-0.000963889419181835,23.45641,20.69753,18.98959,18.39435,18.04083 1237656894530519858,312.806752181141,-0.000538041014713186,19.80919,18.40785,17.58722,17.13805,16.88819
  • 46.
    SDSS e HiveQL •Cria tabela para conter os dados que iremos analisar da Galáxia! CREATE TABLE galaxy (objId BIGINT, ra REAL, dec REAL, u REAL, g REAL, r REAL, i REAL, z REAL)
  • 47.
    •Popula a tabelacom os dados fornecidos pelo SDSS SDSS e HiveQL for row in reader: cur.execute("INSERT INTO galaxy (objId, ra, dec, u, g, r, i, z) VALUES(?, ?, ?, ?, ?, ?, ?, ?);", to_db)
  • 48.
    •Pronto! SDSS eHiveQL SELECT * FROM galaxy
  • 49.
    •Junção entre atabela de imagens (PhotoOBJ) e a tabela de espectro (SpecObj) SDSS e HiveQL SELECT TOP 10 p.objid,p.ra,p.dec,p.u,p.g,p.r,p.i,p.z, p.run, p.rerun, p.camcol, p.field, s.specobjid, s.class, s.z as redshift, s.plate, s.mjd, s.fiberid FROM PhotoObj AS p JOIN SpecObj AS s ON s.bestobjid = p.objid WHERE p.u BETWEEN 0 AND 19.6 AND g BETWEEN 0 AND 20
  • 51.
    Para saber mais •Software Big Data livre para os Impacientes. •Behind Big Data. •SDSS-III. •MapReduce Tutorial. •Big Data in Astronomy. •Statistics in Astronomy. •Processamento de Dados Distribuídos com Hadoop. •Introdução à analítica de dados com base em Hadoop no IBM SmartCloud Enterprise. •Mining of Massive Datasets. •Escalabilidade horizontal para execução paralela de tarefas. •SkyServer DR9