Tabela de criação do Hive: tabela interna, alteração, eliminação com exemplos

Operações de tabela como Criação, alteração e eliminação tabelas no Hive podem ser observadas neste tutorial.

Na captura de tela abaixo, estamos criando uma tabela com colunas e alterando o nome da tabela.

1. Criação da tabela guru_sample com dois nomes de coluna, como “empid” e “empname”

2. Exibindo tabelas presentes no banco de dados guru99

3. Guru_sample exibido nas tabelas

4. Alterando a tabela “guru_sample” para “guru_sampleNew”

5. Novamente, ao executar o comando “show”, será exibido o novo nome Guru_sampleNew

Tabela de criação do Hive

Dropping table guru_sampleNew:

Tabela de criação do Hive

Tipos de tabela e seu uso

Vindo para Tabelas é exatamente como criamos em bancos de dados relacionais tradicionais. As funcionalidades como filtragem, joins podem ser realizadas nas tabelas.

Colméia lida com dois tipos de estruturas de tabela como Interno e externo tabelas dependendo do carregamento e design do esquema no Hive.

Tabelas internas

  • A tabela interna é fortemente acoplada por natureza. Neste tipo de tabela, primeiro temos que criar a tabela e carregar os dados.
  • Podemos chamar este de dados no esquema.
  • Ao eliminar esta tabela, os dados e o esquema serão removidos.
  • O local armazenado desta tabela será /user/hive/warehouse.

Quando escolher a tabela interna?

  • Se os dados de processamento disponíveis no sistema de arquivos local
  • Se quisermos que o Hive gerencie o ciclo de vida completo dos dados, incluindo a exclusão

Exemplo de trecho de código para tabela interna

1. Para criar a tabela interna

 Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);
	 Row format delimited 
	 Fields terminated by '\t';

2. Carregue os dados na tabela interna

    Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;

3. Exiba o conteúdo da tabela

    Hive>select * from guruhive_internaltable;

4. Para eliminar a tabela interna

    Hive>DROP TABLE guruhive_internaltable;

Se você eliminou guruhive_internaltable, incluindo seus metadados e seus dados serão excluídos do Hive.

Do seguintewing captura de tela, podemos observar a saída

Tabelas internas

No código acima e na captura de tela, seguimoswing coisas,

  • Crie a tabela interna
  • Carregue os dados na tabela interna
  • Exibir o conteúdo da tabela
  • Para eliminar a tabela interna

Tabelas externas

  • A Tabela Externa é de natureza fracamente acoplada. Os dados estarão disponíveis no HDFS. A tabela será criada nos dados do HDFS.
  • De outra forma, podemos dizer que está criando esquema em dados.
  • No momento de eliminar a tabela, ele elimina apenas o esquema, os dados ainda estarão disponíveis no HDFS como antes.
  • Tabelas externas fornecem uma opção para criar vários esquemas para os dados armazenados no HDFS em vez de excluir os dados sempre que o esquema for atualizado

Quando escolher a mesa externa?

  • Se processar dados disponíveis em HDFS
  • Útil quando os arquivos estão sendo usados ​​fora do Hive

Exemplo de trecho de código para tabela externa

1. Crie uma tabela externa

Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING)
	 Row format delimited
	 Fields terminated by '\t'
	 LOCATION '/user/guru99hive/guruhive_external;

2. Caso não estejamos especificando o local no momento da criação da tabela, podemos carregar os dados manualmente

    Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;

3. Exiba o conteúdo da tabela

  Hive>select * from guruhive_external;

4. Para eliminar a tabela interna

  Hive>DROP TABLE guruhive_external;

Do seguintewing captura de tela, podemos observar a saída

Tabelas Externas

No código acima, fazemos o seguintewing coisas

  • Crie a tabela externa
  • Carregue os dados na tabela externa
  • Exibir o conteúdo da tabela
  • Descartando tabela externa

Diferença entre tabelas internas e externas

Característica Interno Externo
Esquema Dados no esquema Esquema em dados
Local de armazenamento /usr/hive/armazém Localização do HDFS
Disponibilidade de dados Dentro do sistema de arquivos local Dentro do HDFS