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