Hadoop!? HDInsight!? Hive?? Uma introdução ao mundo Big Data para DBA’s Bruno Feldman da | facebook.com/bfcosta
About Me! Bruno Feldman da Costa Tech Leader DB/BI at White Cube Facebook: Blog:
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. HDFS Name NodeData Nodes Hadoop Cluster
Blocos de dados redundantes, distribuídos entre os nós do cluster. Falhas nos nós são esperadas! HDFS – Hadoop Distributed File System 8 |
Hadoop Ecosystem Distribuições Hadoop Cloudera CDH Hortonworks Data Platform (HDP) MapR 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 MAPMAP 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
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!