Une fois le cluster E-MapReduce (EMR) doté du service HBase créé, connectez-vous à HBase Shell pour lire et écrire des données à l'aide de commandes shell courantes.
Prérequis
Avant de commencer, vérifiez que vous disposez :
D'un cluster DataServing ou d'un cluster personnalisé avec le service HBase. Consultez la rubrique Créer un cluster.
Se connecter à HBase
Connectez-vous au cluster en mode SSH. Consultez la rubrique Se connecter à un cluster.
-
Démarrez HBase Shell :
hbase shellLe shell affiche des conseils d'utilisation basiques, la version de HBase et l'invite de commande
hbase(main):001:0>. Exécutezhelppour afficher toutes les commandes disponibles.
Commandes HBase Shell courantes
Créer une table
Utilisez la commande create pour créer une table. Spécifiez le nom de la table et au moins une famille de colonnes.
create 'table1', 'cf1'
Écrire des données
Utilisez la commande put pour écrire une valeur dans une cellule spécifique. Chaque appel put cible une seule cellule, identifiée par un nom de table, une clé de ligne, une colonne et une valeur.
Une colonne s'écrit sous la forme <column-family>:<column-qualifier>. Dans l'exemple ci-dessous, cf1:q1 désigne la famille de colonnes cf1 et le qualificateur de colonne q1. Les trois appels put écrivent des données dans deux lignes (r1, r2) sur deux colonnes (cf1:q1, cf1:q2).
put 'table1', 'r1', 'cf1:q1', 'v1'
put 'table1', 'r1', 'cf1:q2', 'v2'
put 'table1', 'r2', 'cf1:q1', 'v3'
Parcourir une table
Utilisez la commande scan pour lire toutes les lignes correspondant à un filtre. L'exemple ci-dessous récupère toutes les cellules de la colonne cf1:q1 de la table table1 :
scan 'table1', {COLUMNS => 'cf1:q1'}
Résultat attendu :
ROW COLUMN+CELL
r1 column=cf1:q1, timestamp=2022-09-14T16:06:34.339, value=v1
r2 column=cf1:q1, timestamp=2022-09-14T16:06:36.615, value=v3
2 row(s)
Obtenir une seule ligne ou cellule
Utilisez la commande get pour lire une seule ligne ou une cellule spécifique. L'exemple ci-dessous récupère la valeur de cf1:q1 dans la ligne r1 :
get 'table1', 'r1', {COLUMNS => 'cf1:q1'}
Résultat attendu :
COLUMN CELL
cf1:q1 timestamp=2022-09-14T16:06:34.339, value=v1
1 row(s)
Supprimer des données
Supprimer une seule cellule
Utilisez la commande delete pour supprimer la valeur d'une cellule. Une cellule correspond à l'intersection d'une ligne et d'une colonne. L'exemple ci-dessous supprime la cellule cf1:q1 de la ligne r2 :
delete 'table1', 'r2', 'cf1:q1'
Supprimer toutes les cellules d'une ligne
Utilisez la commande deleteall pour supprimer toutes les valeurs de colonne d'une ligne. Ajoutez un nom de famille de colonnes pour limiter la portée à cette famille. L'exemple ci-dessous supprime toutes les données de la ligne r1 :
deleteall 'table1', 'r1'
Supprimer une table
La suppression d'une table requiert deux étapes : désactivez-la d'abord, puis supprimez-la.
-
Désactivez la table :
disable 'table1' -
Supprimez la table :
drop 'table1'
Pour remettre en ligne une table désactivée sans la supprimer, exécutez la commande enable :
enable 'table1'