Big Data Open Source com Hadoop Palestrante: Marcio Junior Vieira [email protected] Realização: Marcio Junior Vieira ● ● ● ● ● 14 anos de experiência em informática, vivência em desenvolvimento e análise de sistemas de Gestão empresarial. Trabalhando com Software Livre desde 2000 com serviços de consultoria e treinamento. Graduado em Tecnologia em Informática(2004) e pós-graduado em Software Livre(2005) ambos pela UFPR. Palestrante em diversos Congressos relacionados a Software Livre tais como: CONISLI, SOLISC, FISL, LATINOWARE, SFD, JDBR, Campus Party, Pentaho Day. Fundador da Ambiente Livre. Ecosistema Ambiente Livre Colaborações Big Data - Muito se fala... Big Data ● ● É um novo conceito se consolidando. Grande armazenamento de dados e maior velocidade Os 4 V's ● Velocidade , Volume , Variedade e Valor Volume ● ● ● Modelos de Persistência da ordem de Petabytes, zetabytes ou yottabyte(YB). Geralmente dados não estruturados. Um Zettabyte corresponde a 1.000.000.000.000.000.000.000 (10²¹) ou 1180591620717411303424 (2 elevado a 70) Bytes. Velocidade ● Processamento de Dados ● Armazenamento ● Analise de Dados Variedade ● Dados semi-estruturados ● Dados não estruturados ● Diferentes fontes ● Diferentes formatos Valor ● Tomada de Decisão ● Benefícios ● Objetivo do Negócio. O momento é agora Onde podemos utilizar Big Data ? ? Sistema de Recomendação ● WWW em geral Redes Sociais Analise de Risco ● Crédito ● Seguros ● Mercado Financeiro Dados Espaciais ● Clima ● Imagens ● Trafego ● Monitoramento Big Data X BI ● ● Big Data e uma evolução do BI, devem caminhar juntos Data Warehouses são necessários para armazenar dados estruturados Previsão: ● BI – Casos específicos ● Big Data – Analise geral Profissionais Novo profissional: Cientista de Dados Competências do Cientista de dados ● Fonte http://www.datascientist.com.br/Artigo.aspx?ID=Competencia_de_um_cientista_de_dados_um_breve_exemplo_de_uma_analise_de_redes De onde ? Ferramentas de Big Data Hadoop ● ● ● ● ● ● O Apache Hadoop é um projeto de software open-source escrito em Java. Escalável, confiável e com processamento distribuído. Filesystem Distribuido. Inspirado Originalmente pelo GFS e MapReduce da Google ( Modelo de programação MapReduce) Utiliza-se de Hardware Comum ( Commodity cluster computing ) Framework para computação distribuída infraestrutura confiável capaz de lidar com falhas ( hardware, software, rede ) Motivações Atuais ● Grande quantidade ( massiva ) de dados ● Dados não cabem em uma máquina ● Demoram muito para processar de forma serial ● Máquinas individuais falham ● Computação nas nuvens ● Escalabilidade de aplicações ● Computação sob demanda A origem do Nome ● Segundo Doug Cutting, criador do Hadoop “O nome que meu filho deu a um elefante amarelo de pelúcia. Curto, relativamente fácil de soletrar e pronunciar, sem sentido, e não usado em outro lugar: esses são os meus critérios de nomeação” Ecosistema O que é HDFS ● ● Hadoop Filesystem Um sistema de arquivos distribuído que funciona em grandes aglomerados de máquinas de commodities. Características do HDFS ● ● Inspirado em GFS Projetado para trabalhar com arquivos muito grandes e grandes volumes ● Executado em hardware comum ● Streaming de acesso a dados ● Replicação e localidade HDFS ● Projetado para escalar a petabytes de armazenamento, e correr em cima dos sistemas de arquivos do sistema operacional subjacente. Fonte: http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html HDFS - Replicação ● Dados de entrada é copiado para HDFS é dividido em blocos e cada blocos de dados é replicado para várias máquinas MapReduce ● É um modelo de programação desenhado para processar grandes volumes de dados em paralelo, dividindo o trabalho em um conjunto de tarefas independentes Programação Distribuída MapReduce Você especifica o map (...) e reduce (...) funções ● map = (lista (k, v) -> lista (k, v)) ● reduce = (k, lista (v) -> k, v) O Framework faz o resto ● Dividir os dados ● Execute vários mappers sobre as divisões ● Embaralhar os dados para os redutores ● Execute vários redutores ● Guarde os resultados finais MapReduce Map Reduce Modos de Operação ● Standalone ( Local ) ● Pseudo-distributed ● Fully-distributed Outros componentes ● ● ● PIG - linguagem de fluxo de dados e ambiente de execução para explorar grandes conjuntos de dados.Executado no HDFS e grupos MapReduce. Hive - Armazém de dados (datawarehouse) distribuídos. Gerencia os dados armazenados no HDFS e fornece uma linguagem de consulta baseada em SQL para consultar os dados. Hbase – Banco de dados orientada por colunas distribuída. HBase usa o HDFS por sua subjacente de armazenamento e suporta os cálculos de estilo lote usando MapReduce e ponto consultas (leituras aleatórias). Outros componentes ● ● ● ZooKeeper – Serviço de coordenação altamente disponível e distribuído. Fornece funções de bloqueios distribuídos que podem ser usados para a construção de aplicações distribuídas. Sqoop – Ferramenta para a movimentação eficiente de dados entre bancos de dados relacionais e HDFS. Mahout - Aprendizagem de máquina escalável, de fácil uso comercial para a construção de aplicativos inteligentes Distribuições Hadoop ● ● Open Source Apache Comercial Open Source - Cloudera - HortoWorks - MapR - AWS MapReduce - Microsoft HDInsight (beta) Possibilidades de Uso ● DataWareHouse ● Business Intelligence ● Aplicações analíticas ● Mídias Sociais ● Sugestão de Compras ● Analise preditiva ● Compras Coletivas ● Recomendações Modelo tradicional de Uso Empresa Usando Hadoop ● Amazon ● Joost ● Facebook ● Last.fm ● Google ● New York Times ● IBM ● PowerSet ● Yahoo ● Veoh ● Linkedin ● Twitter ● Ebay Hadoop no Brasil Contatos ● e-mail: ● marcio @ ambientelivre.com.br ● http://twitter.com/ambientelivre ● @ambientelivre ● @marciojvieira ● Blog blogs.ambientelivre.com.br/marcio ● Facebook/ambientelivre Convite ● ● ● Pentaho Day 17 de Maio – SP FTSL - 18 e 19 de Setembro Software Freedom Day 20 de Setembro.