Hadoop!? HDInsight!? Hive?? Uma introdução ao mundo Big Data para DBA’s Bruno Feldman da Costa @feldmanB | facebook.com/bfcosta [email protected] About Me! Bruno Feldman da Costa • • • • • Tech Leader DB/BI at White Cube Twitter: @feldmanB E-mail: [email protected] Facebook: https://facebook.com/bfcosta Blog: http://brunofeldman.wordpress.com Agenda Big Data? Hadoop HDInsight MapReduce MapReduce com HIVE e PIG Transferindo dados com SQOOP Workflows com OOZIE Ferramentas: Powershell e SSIS Big Data “Big data are a collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications.” Tom White, Hadoop Definitive Guide “In pioneer days they used oxen for heavy pulling, and when one ox couldn't budge a log, they didn't try to grow a larger ox. We shouldn't be trying for bigger computers, but for more systems of computers.” Grace Hooper Big Data Typified by the “3 V’s”: • • • Volume – Huge amounts of data to process Variety – A mixture of structured and unstructured data Velocity – New data generated extremely frequently Big Data Em 1990 um HD típico armazenava 1,4GB com uma taxa de transferência de 4,4MB/s, ou seja, podia ler todo o disco em uns 5 minutos. Uns 20 anos depois, os discos armazenam 1TB mas lêem a 100MB/s, fazendo a leitura de todo o disco em 2h30min. E se dividíssemos os dados entre vários discos, armazenando uma porção do dado em cada? Hadoop Plataforma que fornece: • Um sistema de arquivos distribuído (HDFS) que armazena os dados entre vários servidores. • Um meio para armazenar/consultar (MapReduce/ YARN) esses dados distribuídos. Hadoop Cluster Name Node Data Nodes HDFS HDFS – Hadoop Distributed File System Blocos de dados redundantes, distribuídos entre os nós do cluster. Falhas nos nós são esperadas! 8 | Hadoop Ecosystem Distribuições Hadoop • • • Cloudera CDH Hortonworks Data Platform (HDP) MapR Microsoft Azure HDInsight Microsoft Azure HDInsight Implementação do HDP no ambiente do Azure • • • • • VM’s com Windows Server (ou Linux) com HDP WebHDFS (Azure Blob Storage) Suporte a Powershell e SSIS Escalabilidade Rápida implementação DEMO Criando um cluster HDInsight MapReduce Dado dividido entre os data nodes Cada nó faz o “MAP” gerando o par “KEY/Value” O REDUCE faz a agregação. MapReduce M A P REDUCE DEMO Executando um Job Map Reduce HIVE Muito legal esse Map Reduce! Mas… • • • • Não sei programar em Java Não sei programar em Python Não sei programar em C# Não sei programar!!!! HIVE Sou DBA, só entendo de TSQL, quero criar meus jobs apenas utilizando queries, como já faço no SQL Server. O HIVE faz isso!!! HIVE Sou DBA, só entendo de TSQL, quero criar meus jobs apenas utilizando queries, como já faço no SQL Server. O HIVE faz isso!!! A query em HiveQL é “traduzida” para um JOB MapReduce DEMO Usando o Hive PIG O PIG realiza uma série de transformações no dado através de statements Pig Latin. Cada comando Pig Latin vai transformando o dado até chegar no resultado esperado. Ao rodar os comandos DUMP ou STORE o Job MapReduce é executado. DEMO Usando o PIG SQOOP O SQOOP (SQL-HADOOP) permite a transferência bi-direcional de dados entre banco de dados (compatíveis com jdbc) e clusters Hadoop. DEMO Usando o SQOOP OOZIE Engine de Workflow para as ações realizadas no cluster Haddop: • • • • Hive Pig Sqoop E outras… DEMO Usando o OOZIE OOZIE / SQOOP O OOZIE e o SQOOP até que são legais… Mas o SSIS é MUITO melhor!! Quer aprender mais? Books: • • • Hadoop: The Definitive Guide - Tom White Microsoft Big Data Solutions - Adam Jorgensen and James Rowland-Jones Pro Microsoft HDInsight: Hadoop on Windows - Debarchan Sarkar Cursos: • EDX: DAT202.1x Processing Big Data with Hadoop in Azure HDInsight DÚVIDAS? OBRIGADO!