Conforme conhecemos, o Hive é um excelente sumarizador de dados utilizado em projetos Big Data, para efetuar a estruturação da base, manipulações das informações e integrações com outras ferramentas e linguagens. Assim para se atender o conceito relacional, necessitamos a definição de tabelas e para atender esse requisito o Apache Hive possui 2 modelos de tabelas:
- TABELAS GERENCIADAS.
- TABELAS EXTERNAS.
Tabela Gerenciada
CREATE TABLE
- O arquivo de dados deve estar localizado no repositório padrão: HDFS.
- Cria os arquivos de dados na tabela da pasta /apps/hive/warehouse/ e/ou do banco de dados que também está nesta pasta.
- Toda alteração na tabela influencia os dados no HDFS
OBS.: Podemos criar uma tabela gerenciada em uma pasta diferente da warehouse com o uso do comando LOCATION.
Modelo de tabela gerenciada:
create table nomedobanco.nomedatabela(
campo1 string,
campo2 int
) stored as text; --definição do formato
Tabela Externa
CREATE
EXTERNAL TABLE
- Cria uma tabela externa (não está na pasta /apps/hive/warehouse/).
- Qualquer comando de alteração nas tabelas não influência os dados.
- O arquivo de dados pode ser localizado fora do contêiner padrão, ou seja, os arquivos de dados podem estar no Blob Storage ou no Datalake Store em outros endereços.
- Deve ser definida a pasta dos arquivos de dados na instrução LOCATION.
Modelo de tabela gerenciada:
create table nomedobanco.nomedatabelaexterna(
campo1 string,
campo2 int
) row format delimited fields terminated by '|' --definição do delimitador
stored as textfile --definição do formato
location '/diretorio/hdfs'; --definição do diretório
create table nomedobanco.nomedatabelaexterna(
campo1 string,
campo2 int
) row format delimited fields terminated by '|' --definição do delimitador
stored as textfile --definição do formato
location '/diretorio/hdfs'; --definição do diretório
Figura: https://pt.slideshare.net/thiagosantiago25/hadoop-ryu-completeversion Autor: Thiago Santiago
Em caso de dúvidas ou sugestões, escreva nos comentários ou nos mande um email: slothbigdata@gmail.com.
Nenhum comentário:
Postar um comentário