Este guia mostra como usar a CLI do Hive em um cluster E-MapReduce (EMR) para criar e gerenciar bancos de dados e tabelas, além de executar instruções SQL para inserir e consultar dados.
Pré-requisitos
Antes de começar, verifique se você tem:
Um cluster EMR com o serviço Hive selecionado. Para mais informações, consulte Criar um cluster.
Abrir a CLI do Hive
Faça login no cluster EMR por SSH. Consulte Fazer login em um cluster.
-
Mude para o usuário hadoop:
su hadoop -
Inicie a CLI do Hive:
hive
Gerencie bancos de dados
Os exemplos a seguir usam um banco de dados chamado testdb.
|
Operação |
Comando |
Indicador de sucesso |
|
Crie |
|
A saída contém |
|
Visualize detalhes |
|
— |
|
Alternar para o banco de dados |
|
— |
|
Exclua |
|
A saída contém |
Crie um banco de dados
create database if not exists testdb;
Se a saída contiver OK, o banco de dados foi criado.
Visualize detalhes do banco de dados
desc database testdb;
Alternar para um banco de dados
use testdb;
Exclua um banco de dados
drop database if exists testdb;
Se a saída contiver OK, o banco de dados foi excluído.
Gerencie tabelas
Os exemplos a seguir usam uma tabela chamada t com duas colunas: id (bigint) e value (string).
|
Operação |
Comando |
Indicador de sucesso |
|
Crie |
|
A saída contém |
|
Visualize detalhes |
|
— |
|
Listar todas as tabelas |
|
Retorna |
|
Exclua |
|
A saída contém |
Crie uma tabela
create table if not exists t (id bigint, value string);
Se a saída contiver OK, a tabela foi criada.
Visualize detalhes da tabela
desc formatted t;
Listar todas as tabelas
show tables;
Saída esperada:
OK
t
Exclua uma tabela
drop table if exists t;
Se a saída contiver OK, a tabela foi excluída.
Execute instruções SQL
Os exemplos a seguir inserem uma linha na tabela t e depois a consultam.
Inserir uma linha
insert into table t select 1, 'value-1';
Saída esperada:
OK
Time taken: 14.73 seconds
Consultar linhas
select * from t limit 10;
Saída esperada:
OK
1 value-1
Time taken: 11.48 seconds, Fetched: 1 row(s)
Agregar dados
select value, count(id) from t group by value;
Saída esperada:
OK
value-1 1
Time taken: 20.11 seconds, Fetched: 1 row(s)