Entendendo a tecnologia Hadoop
Por: Rodrigo.Claudino • 17/5/2018 • 1.117 Palavras (5 Páginas) • 293 Visualizações
...
Para o grupo SVGD2 eles têm sido usados 8 nós com 2 processadores Intel Sandy Bridge E5-2670 2,6 GHz por nó (16 núcleos por nó no total) e conectividade Infiniband 40Gbps.
Descrição HIVE[pic 17]
O Hive é um framework para soluções da Data Warehousing, executar no ambiente do Hadoop, construídas inicialmente pelo time de desenvolvimento do Facebook em 2007. Ele nasceu a partir da necessidade de gerenciar, analisar e aprender sobre o comportamento dos usuários a partir do imensos volume de dados gerado a cada dia no Facebook. A escolha pelo Hadoop foi incentivada pelo baixo custo, escalabilidade e evitar a dependência sobre custos de licenças e manutenção anual que são comuns nos bancos de dados do mercado.
Outro ponto também que levou ao desenvolvimento foi o baixo desempenho das soluções de mercado para realizar operações de Full Scan em grandes volumes de dados. O Hive foi criado também visando aproveitar os “skills” de uso do SQL dos analistas e desenvolvedores Facebook,que não eram na epoca tão proficientes em Java para usar o Mapreduce. Atualmente é um projeto da apache( http://hive.apache.org).
Como a finalidade principal do hive é analisar dados, o mesmo deve ser capaz de se integrar com soluções de business inteligence existentes no mercado.
Hive utiliza uma linguagem chamada HiveQl (Hive query language), que transforma as sentenças SQL em Jobs MapReduce executados no cluster Hadoop.
Os comandos existentes no SQL tais como create table, select, describe, drop table, etc existem no hive, mas temdiferenças tal como a clausula ROW FORMAT do create table. Para popular tabelas pode ser utilizado o comando LOAD DATA, que obtém a entrada de dados e carrega no warehouse do hive.
Podem ser utilizados agregadores como Max, SUM, Count, etc que necessitam da clausula GROUP BY, tal como no SQL.
[pic 18]
Para acessar os dados podem ser utilizadas a própia interface de comandos, drivers JDBC, drivers ODBC e o Hive thrift Client (para C++, Python, Ruby, etc). Posibilita acessar dados que estejam no sistema de arquivos HDS, em outros sistemas de arquivos(ex. Amazon S3) ou no HBASE. Abaixo está uma figura que descreve a arquitetura do Hive.
fornecido sem a necessidade de alterações ou operações de ETL sobre a origem e os dados Hive nos permite pesquisar os dados da mesma forma que seria no SGBD relacionais originais usando SQL e tudo tão transparente para o utilizador.
Internamente, lojas e distribui Hadoop entre os dados nós (particionado) e colmeia é responsável por dividir a consulta em várias partes que são designados para trabalhar MapReduce, que processa o mapa e reduzir estão paralelizável entre os diferentes nós do cluster. Desta forma, estamos alavancando recursos de computação existentes para executar tarefas que inicialmente não puderam ser atribuídos a este tipo de recurso.
Tempos de carregamento não são muito significativas já que a carga não é executada em paralelo. O tempo total de carga 5,3GB foi de 5 minutos e 10 segundos.
Em seguida, o consulta1 ad-hoc de execução é a seguinte:
hive> INSERT OVERWRITE TABLE cons_grouped
SELECT consumo.fechafin, maquinas.nombre, instituciones.nombre, consumo.idusuario, aplicaciones.nombre, ejecutables.nombre, consumo.estado, COUNT(consumo.idconsumo), SUM(consumo.systcpu), SUM(consumo.usercpu), SUM(consumo.elapcpu), MAX(consumo.memory), SUM(consumo.io), SUM(consumo.rw)
FROM maquinas
JOIN aplicejec ON (maquinas.idmaquina = aplicejec.idmaquina) JOIN aplicaciones ON (aplicaciones.idaplic = aplicejec.idaplic) JOIN ejecutables ON (ejecutables.idejec = aplicejec.idejec)
JOIN consumo ON (consumo.idaplicejec = aplicejec.idaplicejec) JOIN instituciones ON (instituciones.idinstit = consumo.idinstit)
GROUP BY consumo.fechafin, maquinas.nombre, instituciones.nombre, consumo.idusuario, aplicaciones.nombre, ejecutables.nombre, consumo.estado;
Conclusões[pic 19]
Em conclusão, podemos dizer que as possibilidades Hadoop e Hive pode oferecer como serviço de computação distribuída são muito interessantes.
As possibilidades Hadoop pode proporcionar uma organização são muitas:
• Dar visibilidade e competitividade nos serviços de paradigma Big Data.
• Gerenciar um serviço com muito poucas implantações instalações nacionais, constituindo um ímã para futuros projectos e colaborações entre instituições e empresas.
• Melhor utilização dos recursos realização de uma implantação
Hadoop incrementais / ondemand.
Dependendo das necessidades de cada organização poderia começar com um serviço básico e pouca hardware dedicado, permitindo que a comunidade de usuários interessados algoritmos ProBase MapReduce.
Os usuários terão um conjunto de comandos CLI para gerenciar e executar seus aplicativos MapReduce.
Como conclusão final, este benchmark também analisou a capacidade do Hadoop e Hive como sistema de armazenamento distribuído
...