sábado, 29 de junho de 2019

Abordagem do Apache Hive




Não importa a relevância do uso do Hadoop para armazenamento de dados desestruturado, o modelo relacional na linguagem SQL dos bancos atuais, sempre serão utilizados e necessários nos projetos de Big Data.
Devido os sistemas integrados de gestão em sua maioria utilizar bancos relacionais, as ingestões de dados na grande maioria utilizam o formato de texto com os campos delimitados por algum caracter.
Deste modo o apache hive é indispensável a qualquer projeto de Big Data. O Apache Hive é um sistema de data warehouse para Hadoop que permite:

  • Não é um banco de dados e sim um sumarizdor de dados do HDFS; 
  • Consulta e análise de dados usando o HiveQL (SQL-Like);
  • O Hive pode ser usado para explorar interativamente seus dados ou para criar processamento em lote reutilizáveis;
  • O Hive possui características de um SGBDR mas não é um SGBDR. Precisa de um SGDBR externo (exemplos: SQL Server, Oracle, MySQL e PostGreSQL) para armazenamento e gestão dos metadados - Hive MetaStore;
  • Possui biblioteca JDBC, no qual pode se estabelecer um pool de conexões para se utilizar em alguma linguagem ou em uma ferramenta de Data Discovered.
  • O Hive não tem relacionamentos entre as tabelas (CONSTRAINTS) nem chaves primárias (PRIMARY KEYS);

Função do Hive:



Com o Hive é possível consultar esses dados sem o conhecimento de Java ou MapReduce:
  • HiveQL (a linguagem de consulta Hive) tem instruções semelhantes à T-SQL. 
  • Manipular dados estruturados e semi-estruturados, como arquivos de texto onde os campos são delimitados por caracteres específicos. 
  • Possui o recurso de serialização/deserialização (SerDe) para dados complexos ou irregularmente estruturados.
  • Possibilita o uso de User Defined Functions (UDFs) nas linguagens java, python e scala. 
  • Pode utilizar os engines MapReduce, Tez e LLAP para seus processos batch.

Autor: Rodrigo Piva - Especialista Big Data

Nenhum comentário:

Postar um comentário