Tabela de criação do Hive: tabela interna, alteração, eliminação com exemplos
mesa Operações 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
Dropping table guru_sampleNew:
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.
Na captura de tela a seguir, podemos observar a saída
No código acima e na captura de tela, fazemos o seguinte,
- 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;
Na captura de tela a seguir, podemos observar a saída
No código acima, fazemos o seguinte
- 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 |