Ce guide explique comment utiliser l'interface en ligne de commande (CLI) Hive sur un cluster E-MapReduce (EMR) pour créer et gérer des bases de données et des tables, ainsi que pour exécuter des instructions SQL afin d'insérer et d'interroger des données.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un cluster EMR avec le service Hive sélectionné. Pour plus d'informations, consultez la section Créer un cluster
Ouvrir l'interface CLI Hive
Connectez-vous au cluster EMR via SSH. Consultez la section Se connecter à un cluster.
-
Basculez vers l'utilisateur hadoop :
su hadoop -
Démarrez l'interface CLI Hive :
hive
Gérer les bases de données
Les exemples suivants utilisent une base de données nommée testdb.
| Opération | Commande | Indicateur de réussite |
|---|---|---|
| Créer | create database if not exists testdb; |
La sortie contient OK |
| Afficher les détails | desc database testdb; |
— |
| Basculer vers la base de données | use testdb; |
— |
| Supprimer | drop database if exists testdb; |
La sortie contient OK |
Créer une base de données
create database if not exists testdb;
Si la sortie contient OK, la base de données est créée.
Afficher les détails de la base de données
desc database testdb;
Basculer vers une base de données
use testdb;
Supprimer une base de données
drop database if exists testdb;
Si la sortie contient OK, la base de données est supprimée.
Gérer les tables
Les exemples suivants utilisent une table nommée t comportant deux colonnes : id (bigint) et value (string).
| Opération | Commande | Indicateur de réussite |
|---|---|---|
| Créer | create table if not exists t (id bigint, value string); |
La sortie contient OK |
| Afficher les détails | desc formatted t; |
— |
| Lister toutes les tables | show tables; |
Renvoie OK puis t |
| Supprimer | drop table if exists t; |
La sortie contient OK |
Créer une table
create table if not exists t (id bigint, value string);
Si la sortie contient OK, la table est créée.
Afficher les détails de la table
desc formatted t;
Lister toutes les tables
show tables;
Sortie attendue :
OK
t
Supprimer une table
drop table if exists t;
Si la sortie contient OK, la table est supprimée.
Exécuter des instructions SQL
Les exemples suivants insèrent une ligne dans la table t puis l'interrogent.
Insérer une ligne
insert into table t select 1, 'value-1';
Sortie attendue :
OK
Time taken: 14.73 seconds
Interroger les lignes
select * from t limit 10;
Sortie attendue :
OK
1 value-1
Time taken: 11.48 seconds, Fetched: 1 row(s)
Agréger les données
select value, count(id) from t group by value;
Sortie attendue :
OK
value-1 1
Time taken: 20.11 seconds, Fetched: 1 row(s)