Buscar

APOSTILA - Frameworks para Big Data - UNIDADE 4 (ANHEMBI MORUMBI UAM) CURTA SE LHE AJUDOU! ;D

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

Continue navegando