Operações de tabela, como criação, alteração e eliminação de 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 exibindo sob as tabelas
4. Alterando a tabela "guru_sample" como "guru_sampleNew"
5. Novamente, quando você executar o comando "show", ele exibirá o novo nome Guru_sampleNew
Dropping table guru_sampleNew:
Tipos de tabela e seu uso:
Chegar às tabelas é como a maneira que criamos nos bancos de dados relacionais tradicionais. As funcionalidades como filtragem, junções podem ser realizadas nas tabelas.
O Hive lida com dois tipos de estruturas de tabela, como tabelas internas e externas , dependendo do carregamento e do 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 isso de dados no esquema .
- Ao descartar esta tabela, os dados e o esquema serão removidos.
- O local armazenado desta tabela será em / user / hive / warehouse.
Quando escolher a mesa 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
Amostra 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 delimitedFields terminated by '\t';
2. Carregue os dados na tabela interna
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Exibir o conteúdo da tabela
Hive>select * from guruhive_internaltable;
4. Para largar a mesa interna
Hive>DROP TABLE guruhive_internaltable;
Se você descartou o 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 as seguintes coisas,
- Crie a tabela interna
- Carregue os dados na tabela interna
- Exibir o conteúdo da tabela
- Para largar a mesa interna
Tabelas externas
- A Tabela Externa é fracamente acoplada por natureza. Os dados estarão disponíveis no HDFS. A tabela será criada nos dados do HDFS.
- De outra forma, podemos dizer como a sua criação de esquema em dados .
- No momento de eliminar a tabela, ela elimina apenas o esquema, os dados ainda estarão disponíveis no HDFS como antes.
- As 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 estiver processando dados disponíveis no HDFS
- Útil quando os arquivos estão sendo usados fora do Hive
Amostra 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 delimitedFields terminated by '\t'LOCATION '/user/guru99hive/guruhive_external;
2. Se não estivermos 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. Exibir o conteúdo da tabela
Hive>select * from guruhive_external;
4. Para largar a mesa interna
Hive>DROP TABLE guruhive_external;
Na captura de tela a seguir, podemos observar a saída
No código acima, fazemos as seguintes coisas
- Crie a tabela externa
- Carregue os dados na tabela externa
- Exibir o conteúdo da tabela
- Largando a mesa externa
Diferença entre tabelas internas e externas
Recurso | interno | Externo |
---|---|---|
Esquema | Dados no esquema | Esquema em Dados |
Local de armazenamento | / usr / hive / warehouse | Localização HDFS |
Disponibilidade de dados | No sistema de arquivos local | No HDFS |