Baixe o app para aproveitar ainda mais
Prévia do material em texto
31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 1/29 FRAMEWORKS PARA BIG DATAFRAMEWORKS PARA BIG DATA ANÁLISE DE DADOSANÁLISE DE DADOS COM HIVE E HBASECOM HIVE E HBASE Autor: Esp. Daniel dos Santos Brandão Revisor : Everton Gomede IN IC IAR 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 2/29 introdução Introdução Olá, aluno. Como você deve imaginar, lidar com grandes volumes de dados não é uma tarefa trivial. Para que um sistema ou projeto de análise de grandes conjuntos de dados seja desenvolvido, é importante que todo o ambiente onde os dados estarão e os sistemas e as ferramentas que estarão em execução estejam em sintonia. Nesse sentido, o ecossistema Hadoop é de grande importância, visto que existem várias ferramentas que compõem sua estrutura base e ainda outras que complementam sua funcionalidade. No intuito de entender melhor as formas de análise de dados em ambiente de cluster, nesta unidade, você será conhecerá a ferramenta Hive e o banco de dados NoSQL HBase, ambos pertencentes a esse ecossistema. 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 3/29 A análise de dados requer muita atenção, a�nal, não adianta ter os dados certos, mas a informação errada. Como você já deve saber, dados e informação não são a mesma coisa. Dado é parte da informação que juntamente com outros dados formam a informação. Logo, ter apenas parte dos dados ou realizar um cálculo errado, criar um grá�co sem todas as categorias corretas ou analisar apenas parte de um dataset pode nos dar como retorno uma informação errada. Mas, se isso já pode ser um problema para pequenos ou conjuntos de dados locais, imagine quando falamos de Big Data. Analisar grandes volumes de dados requer total atenção e o uso correto de técnicas de análise. Como a�rma Marquesone (2018, p. 168), “para possibilitar o avanço das análises realizadas, métodos estatísticos, algoritmos de aprendizado de máquina e técnicas de mineração de dados precisaram ser adaptados para suportar modelos de processamento paralelo e distribuídos.” O termo Big Data Analytics representa as formas de analisar grandes volumes de dados, e ele está em evidência desde 2012, devido ao aumento Análise de Big DataAnálise de Big Data 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 4/29 considerável na quantidade de dados geradas desde a década de 2010 em diante, com o aumento massivo de comunicadores instantâneos como Messenger e WhatsApp e as redes sociais. Ainda segundo Marquesone (2018), existem hoje quatro técnicas analytics que são distintas entre si pelo tipo de resultado gerado. Análise Descritiva : é uma análise do estado atual de uma instituição ou empresa. Como, uma base de dados de clientes que respondam a perguntas como: qual produto mais vendido? Quanto foi vendido nos últimos meses? Quais clientes mais compraram no período? Que produto tem maior saída? Esses resultados são apresentados geralmente em forma de grá�cos e dashboards . Análise Diagnóstica : depois de uma análise descritiva, que busca responder o que aconteceu, a análise diagnóstica busca responder a pergunta de “por que isso aconteceu”. Perguntas como: por que tivemos um aumento de vendas no trimestre X? Por que x categoria de produto/serviço teve uma diminuição na demanda? E, etc. Assim como a descritiva, a análise Diagnóstica se baseia em dados históricos, já passados. Análise Preditiva : essa análise, diferente das demais, não será apenas a apresentação de um cenário passado, mas a busca por projeções futuras. Nesse sentido, a análise de Big Data baseada em algoritmos como os de Aprendizagem de Máquina e Mineração de Dados mostra sua importância. As perguntas a serem respondidas são: qual a probabilidade de um cliente voltar a comprar com um desconto de X por cento? Qual a estimativa de novos clientes para o próximo ano? E, etc. Ou seja, essa análise se baseia em dados históricos (do que já aconteceu) para tentar estimar (prever) como serão os próximos períodos. Lembrando que, se trata de estimativa, ou seja, não é possível obter 100% de precisão. Análise Prescritiva : essa é a análise que se baseia nas predições para prescrever ou indicar sugestões para que problemas sejam evitados antes mesmo de acontecerem. São formas de usar inteligência arti�cial para promover a solução de problemas futuros. Com uma análise preditiva feita de maneira correta, a análise 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 5/29 prescritiva tem uma chance de acerto muito grande e com grandes retornos possíveis. As perguntas que essa análise responde são do tipo: como fazer X coisa acontecer? Como proceder ao alcançar X por cento de vendas em Y período? A ideia é que algoritmos sejam criados para que esse processo aconteça e as respostas sejam respondidas de acordo com a necessidade da empresa, com o mínimo de intervenção humana no processo. Com esses modelos de análises bem claros em sua mente, vamos avançar em entender como se coloca em prática tais análises baseados em técnicas e ferramentas do ecossistema Hadoop. Apache Hive Inicialmente desenvolvido pela equipe do Facebook, o Hive é uma aplicação open source sob licença da fundação Apache. Uma de�nição simples do Apache Hive, segundo sua documentação o�cial, ele é como uma aplicação de data warehouse cujo objetivo é auxiliar na leitura, escrita e gerenciamento de grandes volumes de dados em ambiente de armazenamento distribuído (APACHE HIVE..., 2018). Em outras palavras, podemos dizer que o Hive é um sistema de armazenamento ou depósito de dados pertencente ao ecossistema Hadoop, que busca facilitar a junção de dados para geração de análises de grandes conjuntos de dados, comumente chamado de Big Data. A Figura 4.1 apresenta a arquitetura do Hive: 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 6/29 O Apache Hive possui uma grande capacidade de tolerância a falhas e está ligada diretamente ao MapReduce , pois seus serviços são baseados neste mecanismo, precisando dele instalado no servidor que irá ser utilizado. A ideia central é receber dados que venham do Hadoop HDFS e utilizar as técnicas de MapReduce para gerar resultados nos dados armazenados em sua base. Com a possibilidade de conexão de dados via bibliotecas, como JDBC (para linguagem Java) e ODBC (para outras linguagens), ele consegue se conectar a ferramentas de análise de dados amplamente utilizadas no mercado, como o Tableau, o Power BI (da Microsoft), entre outras. Figura 4.1 – Criando uma tabela com HiveQL Fonte: Adaptada de Capriolo, Wampler e Rutherglen (2012). 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 7/29 Hive possui uma versão própria de linguagem de consultas como SQL, tendo sua versão chamada de HiveSQL ou simplesmente HQL. Mas, o�cialmente, o Hive possui não apenas uma linguagem de query, mas uma linguagem procedural, chamada de HPL ( Hive Procedural Language ). O HPL é considerado uma ferramenta open source (de código aberto), sob a licença Apache 2.0, que implementa a linguagem SQL de maneira procedural para ferramentas como o próprio Apache Hive, o SparkSQL e também para qualquer outra implementação SQL focada no ambiente Hadoop, além de bancos de dados NoSQL e SGBDs relacionais (APACHE HIVE..., 2018). O Quadro 4.1 apresenta um exemplo de comando de consulta em HQL: Quadro 4.1 – Comandos HQL Fonte: Elaboradopelo autor. saibamais Saiba mais A palavra Hive , no inglês, signi�ca Colmeia. Por isso, o símbolo do Apache Hive é uma “abelha elefante”, da mistura da ideia da colmeia com o elefante amarelo, símbolo do ecossistema Hadoop . ACESSAR hive> select * from tb_clientes; hive> show tables; http://hive.apache.org/ 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 8/29 No quadro apresentado, você pode perceber que os comandos de consulta são semelhantes aos comandos da linguagem SQL comumente usada em transações em bancos de dados relacionais. praticar Vamos Praticar O Apache Hive permite o resumo de dados, consultas e análise de dados. Consultas de Hive são escritas em HiveQL, que é uma linguagem de consulta semelhante ao SQL. De modo geral, Hive permite projetar a estrutura em dados estruturados. Sobre o Apache Hive, assinale a alternativa correta. a) Se relaciona apenas com dados vindos de bancos de dados relacionais. b) Possui uma linguagem que substituiu SQL em bancos relacionais. c) Para seu funcionamento, requer o ambiente Hadoop MapReduce con�gurado em servidor. d) Tem suporte apenas a linguagem Java. e) Criado pelo Facebook, foi adquirido posteriormente pela Apache. 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=XpJ… 9/29 Uma das áreas que mais tem demandado dados para análise é Business Intelligence (BI) ou Inteligência de Negócios. O tamanho dos conjuntos de dados que estão sendo coletados e analisados no setor para BI tem crescido rapidamente, tornando as soluções de armazenamento tradicionais mais caras. Com o Hadoop se tornando uma implementação popular de código aberto, muito usada em empresas como Yahoo, Google, Facebook etc. para armazenar e processar conjuntos de dados extremamente grandes em hardware comum, ferramentas complementares tem crescido em demandas especí�cas. No entanto, o modelo de programação MapReduce puro apresenta um nível muito baixo e requer que os desenvolvedores escrevam programas personalizados e difíceis de manter e reutilizar. Nesse sentido, o Hive se apresenta como uma solução de data warehousing de código aberto com suporte a consultas de maneira expressa, por meio de uma linguagem declarativa do tipo SQL: o HiveQL, que são compiladas em tarefas MapReduce que, por sua vez, são executadas utilizando o Hadoop. Análise de DadosAnálise de Dados com Hivecom Hive 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 10/29 Além disso, o HiveQL permite que os usuários utilizem scripts personalizados em uma consulta. A linguagem inclui um sistema com suporte para tabelas contendo tipos primitivos, coleções como matrizes e composições agrupadas de diferentes tipos. As bibliotecas de Entrada e Saída (Input/Output) podem ser estendidas para consultar dados de forma personalizada. O Hive também inclui uma espécie de catálogo do sistema, chamado de Metastore , que contém esquemas e estatísticas de tabelas e seus atributos (colunas), que são úteis na exploração de dados, otimização de consultas e compilação de consultas. No Facebook, onde o Hive foi desenvolvido, o data warehouse Hive contém dezenas de milhares de tabelas e até 2012 armazenava mais de 700 TB de dados, sendo amplamente utilizado para relatórios e análises ad-hoc por mais de 200 usuários por mês (THUSOO et al., 2010). Analisando Dados A análise escalável em grandes conjuntos de dados tem sido essencial para as funções de várias equipes de analistas de dados. Além das análises especí�cas, aplicativos de BI utilizados por analistas de negócios de várias empresas, também se conectam ao Hive e o utilizam como base para suas análises. Esses softwares variam de aplicativos de relatórios simples, como dashboards dinâmicos, a tipos mais avançados, como ferramentas de análise preditiva e prescritiva. Para um bom resultado, é essencial uma infraestrutura �exível que atenda às necessidades desses diversos aplicativos e usuários e que também seja escalável de maneira econômica com as crescentes quantidades de dados geradas. Hive e Hadoop são as tecnologias mais utilizadas para atender a esses requisitos em grandes empresas e organizações em todo o mundo, como a Microsoft, a rede de tv americana CBS, Digg (uma espécie de centralizador de links, notícias e podcasts), Hi5 (rede social) etc. Exemplo Aplicado com Hive 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 11/29 Hive é o típico exemplo de SQL no Hadoop, ele é usado para mapear arquivos em uma tabela de banco de dados e fornecer uma interface de consulta SQL. O Hive pode executar a lógica de análise de dados re�etida pelas instruções SQL no HDFS, convertendo instruções SQL em uma série de tarefas MapReduce. Mas, por mais vantagens que ele possa trazer, Hive deve ser visto como uma interface e, portanto, não melhora a alta latência do MapReduce. Na prática, o Hive trabalha tanto com dados estruturados como dados não estruturados. Por exemplo, é possível utilizar recursos como DDL e DML da linguagem SQL, em que é possível, por meio de scripts, criar estruturas de tabelas ou manipular seus dados, respectivamente. O Quadro 4.2 apresenta um exemplo de instrução HiveQL na criação de uma tabela com dados separados por espaços em branco. Quadro 4.2 – Criando uma tabela com HiveQL Fonte: Elaborado pelo autor. No Quadro 4.2 foi utilizado o comando CREATE EXTERNAL TABLE para criar uma tabela chamada “logs”. Ela é criada com os atributos S1 a S7, todos do tipo string (caracteres alfanuméricos). Na linha 3 é de�nido o delimitador, que no caso seria um espaço vazio (aspas vazias). Já na linha 4 é de�nido o local de armazenamento do arquivo de texto a ser gerado. Com Hive, é possível criar dois tipos de tabela, a tabela interna ou a tabela externa. Na interna, os dados �cam armazenados dentro do data warehouse do Hive. Já na externa, o armazenamento �ca fora dele, podendo ser 1 2 3 4 CREATE EXTERNAL TABLE logs ( s1 string, s2 string, s3 string, s4 string, s5 string, s6 string, s7 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE LOCATION '/example/data/'; 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 12/29 utilizados por outros processos externos ao Hive. As tabelas internas também são utilizadas para dados temporários. Além disso, é possível realizar consultas as tabelas com a mesma simplicidade e com uma sintaxe bem parecida com SQL. O Quadro 4.3 apresenta a forma isso pode ser feito. Quadro 4.3 – Realizando uma consulta a uma tabela com HiveQL Fonte: Elaborado pelo autor. No exemplo apresentado, o comando SELECT é utilizado na tabela logs sob algumas condições, como o retorno sendo baseado no atributo s4, realizando uma contagem de quantos registros existem, agrupados pelo atributo s4 também. Se você tem algum conhecimento da linguagem SQL deve entender bem os comandos apresentados, visto que a maioria deles está presente da mesma maneira tanto em bancos relacionais como no Hive. Como HiveQL também é uma linguagem procedural, ele permite que funções sejam criadas e de�nidas pelo usuário, conceito chamado de UDF ( User De�ned Function ). Com isso, é possível importar para o Hive , funções de diferentes linguagens de programação como Java, Python, C++ e outras, importando o arquivo para o servidor em que o Hive está sendo executado. Para cada linguagem existe uma forma de se fazer isso, logo, é indicado o estudo por meio da documentação o�cial, a �m de implementar o recurso da maneira correta de acordo com a linguagem escolhida. Para exempli�car,o Quadro 4.4 apresenta a importação de um arquivo em Python chamado udfhive.py dentro do servidor em que o Hive está sendo executado. SELECT s4 AS sev, COUNT(*) AS count FROM logs WHERE s4 = '[ERROR]' AND INPUT__FILE__NAME LIKE '%.log' GROUP BY s4; 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 13/29 Quadro 4.4 – Inserindo arquivo no Hive com função em Python Fonte: Elaborado pelo autor. Nesse exemplo, o arquivo udfhive.py é inserido no cluster onde será analisado, de�nindo de qual linguagem é o script e quais campos ou atributos serão utilizados. Hivesampletable é o nome da tabela Hive em que a função buscará os dados para ser executada. praticar Vamos Praticar Em Hive, não há apenas um formato que os dados possam ser armazenados, pois ele suporta arquivos de texto do tipo CSV (com separação de atributos por de vírgulas) ou TSV (separado por tabulação), ou outros formatos. Os dados podem ser lidos vindos de servidor com Hadoop HDFS. Hive possui vários componentes internos, um deles funciona como um catálogo que armazena metadados sobre as tabelas e atributos. add �le wasbs:///udfhive.py; SELECT TRANSFORM (idcliente, fabricante, modelo) USING 'python udfhive.py' AS (idcliente string, telefone string, email string) FROM hivesampletable ORDER BY idcliente LIMIT 50; 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 14/29 Assinale a alternativa que apresenta corretamente o conceito descrito pela a�rmação apresentada. a) ODBC. b) UDF. c) Select. d) Metastore. e) Driver. 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 15/29 O HBase foi lançado em 2008 e está sob a licença Apache 2.0. Ele é um banco de dados open source que foi projetado para grandes volumes de dados, como todo o contexto Hadoop. Com isso, ele assumiu a função de banco de dados o�cial do Apache Hadoop, tendo por objetivo lidar com armazenamento de milhões de tabelas e colunas. Como as demais tecnologias do ecossistema, ele é tolerante a falhas, se aproveitando desse controle vindo do Hadoop HDFS (APACHE HBASE, 2016). Ele foi criado sob o conceito do BigTable , da Google, que é disponibilizado pela empresa como um banco de dados NoSQL focado em serviços online de análise de dados em grande escala (na faixa de petabytes). Assim como o Big Table, HBase também é um banco não relacional que lida com bilhões de dados. O HBase se divide em cluster , em que cada máquina dentro do cluster é chamada de nó (ou node, em inglês). Segundo Marquesone (2018), existem 2 tipos de nodes: Banco de DadosBanco de Dados HBaseHBase 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 16/29 Master : único nó a ser executado. Requer alta disponibilidade, uma vez que é elemento central do processo. Esse nó é responsável pela gestão de operações de cluster. RegionServer : podem existir um ou mais nós deste tipo. Esse tipo de nó é responsável pela realização de armazenamento, leitura e escrita em tabelas. Um cliente faz comunicação com um nó RegionServer para fazer leitura e escrita na base. Existem grandes diferenças entre utilizar HBase e um banco de dados relacional. O quadro a seguir apresenta as principais diferenças entre os dois tipos de bancos de dados. Quadro 4.5 – Comparativo em HBase e bancos de dados relacionais Fonte: Elaborada pelo autor. Com as características apresentadas no Quadro 4.5, perceba que existem diferenças bastante evidentes quanto ao uso dos dois bancos de dados. Enquanto o relacional possui uma arquitetura mais rígida, com a expansão mais limitada, seja em recursos �nanceiros ou em tempo para que seja feita, o HBase requer um hardware menos potente e que pode ser expandido com HBase BD Relacional Possui tolerância a falhas Tolerância a falhas opcional Escalabilidade linear e automática com novos nós (nodes) Escalabilidade vertical com a adição de mais Hardware (mais custosa) Cluster com Hardware de baixo custo Requer Hardware mais robusto (implicando em valor mais elevado) Particionamento automático Particionamento geralmente realizado pelo administrador do banco (manual) 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 17/29 mais recursos de hardware, sem a necessidade de lidar com grandes equipamentos de ponta. praticar Vamos Praticar O Apache HBase é um banco de dados de código aberto, criado para sistema distribuído, não relacional, modelado segundo o Bigtable do Google. Assim como o Bigtable aproveita o armazenamento de dados distribuído fornecido pelo Google File System, o Apache HBase fornece recursos semelhantes ao Bigtable sobre o Hadoop e o HDFS. Sobre o banco de dados HBase e seu modelo NoSQL, assinale a alternativa correta. a) Orientado a Documentos. b) Orientado a colunas. c) Grafos. d) Chave-valor. e) Relacional. 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 18/29 O HBase se baseia em tabelas com várias colunas. Com o agrupamento de dados em várias colunas da mesma tabela, também conhecido por “Família de Colunas”, o esquema HBase permite que novos dados e novas colunas sejam incluídas a qualquer momento, o que o diferencia substancialmente dos bancos de dados relacionais, que são muito mais rígidos quanto a alteração da estrutura de uma tabela (RAJ; VANGA, 2016). Um diferencial na estrutura HBase é o uso de versionamento, em que os dados podem ser armazenados gerando séries histórias na própria base, utilizando TimeStamp , onde se recebe data e tempo (hora, minuto e segundo) de cada dado, ou seja, cada registro se difere um do outro dessa forma. Caso um dado não venha com timestamp de�nido, o próprio banco de�ne, baseando-se na data e hora que a operação foi realizada. Sempre que uma consulta é executada, é retornada a versão mais recente dos dados, baseando-se também pelo timestamp . A Tabela 4.1 apresenta uma representação de uma tabela no HBase. Análise de DadosAnálise de Dados com HBasecom HBase 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 19/29 Quadro 4.3 – Realizando uma consulta a uma tabela com Hive QLFonte: Elaborado pelo autor. Nessa representação, a primeira coluna apresenta a chave de cada valor e as demais colunas são atributos. Observe que cada registro é unicamente identi�cado por sua Rowkey (a chave da linha), uma espécie de chave primária de cada registro. As chaves das linhas não têm tipo e são tratadas como um vetor de bytes. Além da estrutura de tabela parecida com a de bancos de dados relacionais, o HBase também utiliza outros conceitos semelhantes como Procedures , Views (aqui chamadas de Locking ), rotinas de backup, testes automatizados, entre outros. Visualização de Dados Todo um projeto de Big Data é feito de etapas. Cada etapa precisa passar por fases que de�nem bem o problema, para a partir disso obtermos uma boa de�nição do que fazer com os dados, de�nindo sua origem, seu tratamento e o que será feito com ele posteriormente. A visualização de dados é, geralmente, a última etapa do processo. Porém, é bom lembrar que esse é um processo cíclico, não tendo um �nal, necessariamente, a�nal os dados podem se alterar ou, pelo menos, novos dados sempre virão. Como a�rma Marquesone (2018, p. 186), Rowkey Coluna A Coluna B ... Coluna N Linha 1 Valor A 1 Valor B 1 ... Valor N 1 ... ... ... ... ... Linha M Valor A M Valor B M ... Valor N M 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp…20/29 [...] a etapa de visualização de dados também exige o uso de novas soluções, oferecendo recursos que simpli�cam o processo de visualização, bem como mecanismos que enriquecem a experiência dos usuários durante a visualização dos dados. Dentro do ecossistema Hadoop existem diferentes tecnologias para cada necessidade. O pacote inteiro não foi lançado todo de uma só vez, mas foram surgindo necessidades nos trabalhos com os dados e, conforme cada necessidade surgia, novas tecnologias foram desenvolvidas para atender a demanda, vinda de equipes de desenvolvimento de diferentes empresas e instituições. Com a visualização de dados acontece o mesmo. Para lidar com os dados do banco HBase, é possível interagir via shell script ou prompt de comando, ou ainda, por meio de interfaces grá�cas. Por padrão, é possível interagir via browser (navegador) com o HBase con�gurado na máquina de trabalho e via localhost pela porta 60000. Para visualizar os dados em tempo real ou fazer um acompanhamento do que tem acontecido com o banco, existe a ferramenta “HBTOP”. É uma ferramenta de monitoramento em tempo real para o HBase. Com ela é possível exibir informações de resumo e métricas por region, namespace , tabela ou RegionServer . Com essa ferramenta, você pode ver métricas classi�cadas por um campo selecionado e �ltrar métricas para ver apenas as métricas que realmente deseja ver. A Figura 4.2 apresenta um exemplo do HBTOP em execução, retornando o status atual de dados no servidor HBase. 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 21/29 Como você pode notar, a ferramenta funciona em modo prompt , pois serve apenas para monitoramento, com acompanhamento do namespace (como a representação de um banco), da tabela, código da região e da RegionServer (que são os nós do cluster ), entre outras métricas. Figura 4.2 – Uso do hbtop para monitoramento de métricas no HBase Fonte: Elaborada pelo autor. 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 22/29 O banco HBase não precisa de ferramentas visuais de interface para ser gerenciado, mas ele é oferecido como um serviço por empresas por meio da nuvem, como a Amazon, a Microsoft (pelo servidor Azure), a Google, entre outras. Essas empresas acabam por fornecer ferramentas visuais para que o banco possa ser modelado e gerenciado por um navegador (browser) indistintamente. A Figura 4.3 apresenta uma forma de acesso a uma base HBase pelo serviço AWS, da empresa Amazon. saibamais Saiba mais O banco de dados HBase foi criado para ser 100% compatível com a arquitetura Hadoop. Mantendo uma boa comunicação com outras ferramentas do ecossistema, como Hive e MapReduce, ele é capaz de armazenar dados a �m de auxiliar no processamento dos mesmos por outras ferramentas. Além disso, ele possui uma boa comunicação com bibliotecas de linguagem como o JDBC (biblioteca Java para comunicação com bancos de dados). ACESSAR https://docs.aws.amazon.com/pt_br/emr/latest/ReleaseGuide/emr-hbase.html 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 23/29 A grande vantagem de se utilizar os serviços de empresas como Amazon, Microsoft, Google e demais organizações da área de dados, é que elas já oferecem todo o necessário para que tais ferramentas funcionem. Ou seja, você pode contratar como serviço um servidor preparado para executar o Hadoop e ir agregando outros serviços vinculados a ele, como Spark, Hive, MapReduce, HBase, entre outros, de acordo com sua necessidade. A grande vantagem é que você não precisaria se preocupar com questões técnicas como instalação e con�guração, con�gurações de hardware, e até com questão de escalabilidade, bastado a você acompanhar o crescimento da aplicação, para decidir aumentar o investimento para obter mais espaço em servidor, por exemplo. Figura 4.3 – Manipulação do HBase através do serviço em nuvem AWS, da Amazon Fonte: Apache HBase (2020, on-line). 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 24/29 Por �m, podemos dizer que lidar com dados requer cuidado, visualizar dados pode ser uma grande arte. Para que os dados possam ser bem visualizados e analisados, o primeiro passo é conhecer os dados. Um segundo passo pode ser dado com um estudo aprofundado sobre formas de visualizar dados, com grá�cos, dataframes , tabelas e outros elementos visuais. i reflita Re�ita Existe uma grande responsabilidade em lidar com dados. Não é uma tarefa trivial assumir a gestão da informação de uma organização ou empresa. Por isso, tudo deve começar por um bom planejamento. Para trabalhar com grandes volumes de dados, é preciso mensurar bem e analisar até onde se quer chegar em seu projeto, não apenas com uma cabeça pensando na solução, mas uma equipe com experiência no assunto, com especialistas nas informações a serem geradas, além de pro�ssionais especialistas nas ferramentas e tecnologias envolvidas no processo. 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 25/29 praticar Vamos Praticar “Apache HBase é um banco de dados de código aberto que fornece acesso de leitura/gravação em tempo real a esses grandes conjuntos de dados. Ele fornece acesso aleatório e em tempo real aos seus dados no Hadoop. Foi criado para hospedar tabelas muito grandes, tornando-se uma ótima opção para armazenar dados multiestruturados ou esparsos.” FILIPA, S. Apache HBase: o que é, conceitos e de�nições. Cetax, [2020]. Disponível em: https://www.cetax.com.br/blog/o-que-e-o-apache-hbase . Acesso em: 16 fev. 2020. Sobre o uso de HBase para lidar com dados em Big Data, assinale a alternativa correta. a) É um banco de dados relacional. b) É um banco de dados NoSQL no modelo chave-valor. c) Possui tolerância a falhas nativa da própria ferramenta. d) É um banco não relacional orientado a colunas. e) Criado com base em Java, única linguagem que possui conexão com o banco. https://www.cetax.com.br/blog/o-que-e-o-apache-hbase 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 26/29 indicações Material Complementar WEB Fernanda Viégas: "visualização de dados para todos" Ano : 2014 Comentário : nessa palestra, Fernanda Viégas, especialista em visualização de dados da Google, apresenta uma motivação para o estudo sobre o assunto de modo geral. Ela apresenta exemplos de visualizações com dados da Google de modo geral, com dados do Youtube, pesquisas Google e muito mais. Para conhecer mais sobre o �lme, acesse o trailer , disponível em: ACESSAR https://www.youtube.com/watch?v=t73yuUV2xXI 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 27/29 LIVRO Big Data: técnicas e tecnologias para extração de valor dos dados Rosangela Marquesone Editora: Casa do Código ISBN: 978-85-5519-231-9 Comentário: o livro trata de todos os aspectos ligados a Big Data, como: conceito de Big Data, dados, bancos de dados NoSQL, frameworks, diferentes tipos de análises e outras considerações a respeito do tema de grandes volumes de dados. 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 28/29 conclusão Conclusão Ao término dessa unidade, você deve ter percebido o quão importante é saber lidar com dados. Existe todo um universo ao redor dos dados e para lidar com tudo isso, nesse sentido, diferentes ferramentas têmsurgido em um universo da computação tradicional até novas formas de computação. Com novos dados surgindo a todo o momento, tecnologias como Hive e HBase se tornaram formas de analisar esses grandes volumes de dados, de maneira a reunir novas informações sobre os dados e produzir novos conhecimentos, capazes de mudar a realidade de uma empresa, uma cidade, um país e até do mundo todo. Todo dado pode ser relevante, desde que esteja dentro de um contexto e seja bem analisado. Com as tecnologias do ecossistema Hadoop, isso se mostra bem possível e bastante promissor. E, com toda certeza, a tendência é que surjam, a cada dia, novas e profundas formas de receber, tratar, manipular e visualizar esses grandes conjuntos de dados. Esteja preparado para essa grande revolução que já começou! referências Referências Bibliográ�cas 31/08/2022 18:49 Ead.br https://student.ulife.com.br/ContentPlayer/Index?lc=%2bYg9qG2mBqmmojKVkVC5Wg%3d%3d&l=ZAyLyCdsOriv1WTipgyZ6g%3d%3d&cd=Xp… 29/29 APACHE HBase. AWS Amazon , [2020]. Disponível em: https://docs.aws.amazon.com/pt_br/emr/latest/ReleaseGuide/emr-hbase.html . Acesso em: 1º jan. 2020. APACHE Hive. Hive , [2020]. Disponível em: http://hive.apache.org/ . Acesso em: 1º jan. 2020. CAPRIOLO, E.; WAMPLER, D.; RUTHERGLEN, J. Programming Hive : data warehouse and query language for hadoop. Sebastopol: O´Reilly, 2012. FILIPA, S. Apache HBase: o que é, conceitos e de�nições. Cetax , [2020]. Disponível em: https://www.cetax.com.br/blog/o-que-e-o-apache-hbase/ . Acesso em: 2 jan. 2020. MARQUESONE, R. Big Data : técnicas e tecnologias para extração de valor dos dados. São Paulo: Casa do Código, 2018. RAJ, C. P.; VANGA, S. Use a análise de big data e de dados rápidos para usufruir da análise como serviço (AaaS). IBM , jan. 2016. Disponível em: https://www.ibm.com/developerworks/br/library/ba-big-data-analytics-as-a- service-trs/index.html . Acesso em: 2 jan. 2020. THUSOO, A. et al . Hive: a petabyte scale data warehouse using Hadoop. In: INTERNATIONAL CONFERENCE ON DATA ENGINEERING, 26., 2010. Anais […]. Long Beach: IEEE, 2010. Disponível em: https://ieeexplore.ieee.org/abstract/document/5447738/authors#authors . Acesso em: 1º jan. 2020. https://docs.aws.amazon.com/pt_br/emr/latest/ReleaseGuide/emr-hbase.html http://hive.apache.org/ https://www.cetax.com.br/blog/o-que-e-o-apache-hbase/ https://www.ibm.com/developerworks/br/library/ba-big-data-analytics-as-a-service-trs/index.html https://ieeexplore.ieee.org/abstract/document/5447738/authors#authors
Compartilhar