HBase Créer une table avec Java Exemple d'API et de shell
⚡ Résumé intelligent
HBase stocke les données dans des tables, et vous pouvez créer et gérer ces tables de deux manières : via le Java API avec HTableDescriptou via HBaseAdmin, ou directement dans l'interface HBase en utilisant la commande create.

Comment créer une table dans HBase avec Java API
Dans HBase, les tables peuvent être créées de deux manières : par le biais de Java L'API et l'interface de ligne de commande HBase. Cette section traite de l'API et de l'interface de ligne de commande HBase. Java L'API permet à une application de créer des tables et de charger des données par programmation dans le cadre d'une tâche plus vaste.
Avec Java API, nous pouvons créer des tables dans HBase et également charger des données dans des tables en utilisant Java programmation. Les deux éléments que nous avons mis en place ici sont :
- Établir une connexion avec HBase via Java API.
- L'utilisation de Eclipse pour Java Codage, débogage et tests.
Voici les étapes à suivre pour créer des tables dans HBase via Java API.
Étape 1) Créez un Java Projet en Eclipse
Dans cette étape, nous allons créer un Java projet en Eclipse pour la connexion HBase, nommée « HbaseConnection ».
Nouvelle Java La boîte de dialogue du projet ci-dessous montre la configuration du projet « HbaseConnection » :
Si l'on observe la capture d'écran ci-dessus :
- Indiquez le nom du projet dans ce champ. Dans notre cas, le nom du projet est « HbaseConnection ».
- Cochez cette case pour définir l'emplacement d'enregistrement par défaut. Ici, le chemin est /home/hduser/work/HbaseConnection.
- Cochez la case pour le Java l'environnement ici. Dans ce cas JavaSE-1.7 est le Java édition.
- Choisissez l'emplacement où vous souhaitez enregistrer le fichier. Dans notre cas, nous avons sélectionné la deuxième option : « Créer un dossier séparé pour les sources et les fichiers de classe ».
- Cliquez sur le bouton Terminer, ce qui crée le projet « HbaseConnection » dans Eclipse et ouvre le Eclipse page d'accueil.
Étape 2) Configurer le chemin de compilation dans Eclipse
Sur le Eclipse Sur la page d'accueil, suivez ces étapes pour ouvrir la configuration du chemin de compilation :
Right click on project -> Select Build Path -> Configure build path
La capture d'écran ci-dessous montre le menu contextuel (clic droit) permettant d'ouvrir la configuration du chemin de compilation :
D'après la capture d'écran ci-dessus :
- Faites un clic droit sur un projet.
- Sélectionnez le chemin de compilation.
- Sélectionnez Configurer le chemin de compilation.
Après avoir cliqué sur Configurer le chemin de compilation, une autre fenêtre s'ouvre, comme illustré dans la capture d'écran ci-dessous. L'onglet Bibliothèques permet d'ajouter les fichiers JAR HBase et Hadoop au projet :
Dans cette étape, nous ajoutons les fichiers JAR HBase pertinents au système. Java projet tel qu'illustré dans la capture d'écran.
- Fichiers JAR importants à ajouter : hbase-0.94.8.jar et hadoop-core-1.1.2.jar.
- Rendez-vous dans l'onglet Bibliothèques.
- Sélectionnez l'option Ajouter des fichiers JAR externes.
- Sélectionnez les fichiers JAR importants requis.
- Appuyez sur le bouton Terminer pour ajouter ces fichiers à la section « src » du projet. Java projet relevant des bibliothèques.
Une fois les fichiers JAR ajoutés, ils apparaissent dans le répertoire « src » du projet, comme indiqué ci-dessous :
Tous les fichiers JAR relevant de ce projet sont désormais prêts à être utilisés avec l'écosystème Hadoop.
Étape 3) Établir la connexion HBase
Dans cette étape, la connexion HBase est établie via HBaseConnection.java. Java codage.
Sur le Eclipse menu principal, exécuter un Java Programme comme indiqué ci-dessous : Exécuter -> Exécuter en tant que -> Java Application. Le menu ci-dessous affiche le programme en cours de lancement :
- Sélectionnez Exécuter.
- Sélectionnez Exécuter en tant que Java Application.
- Ce code établit une connexion avec HBase via Java API.
- Après l'exécution de ce code, la table « guru99 » est créée dans HBase avec deux familles de colonnes nommées « education » et « projects ». Actuellement, seul le schéma vide est créé dans HBase.
L'extrait de code ci-dessous met en évidence la HTable.Descriptou les appels addFamily qui construisent le schéma de la table :
D'après la capture d'écran ci-dessus, nous effectuons les fonctions suivantes :
- Utiliser HTableDescriptOu bien, nous pouvons créer la table « guru99 » dans HBase.
- En utilisant la méthode addFamily, nous ajoutons « éducation » et « projets » comme familles de colonnes à la table « guru99 ».
Le code ci-dessous va établir une connexion avec HBase et créer la table « guru99 » avec deux familles de colonnes. Placez ce code dans le fichier HBaseConnection.java :
// Place this code inside Hbase connection import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; Import org.apache.hadoop.hbase.client.HBaseAdmin; public class HBaseConnection { public static void main(String[] args) throws IOException { HBaseConfigurationhc = new HBaseConfiguration(new Configuration()); HTableDescriptorht = new HTableDescriptor("guru99"); ht.addFamily( new HColumnDescriptor("education")); ht.addFamily( new HColumnDescriptor("projects")); System.out.println( "connecting" ); HBaseAdminhba = new HBaseAdmin( hc ); System.out.println( "Creating Table" ); hba.createTable( ht ); System.out.println("Done......"); } }
Voici le code requis que vous devez insérer dans HBaseConnection.java avant d'exécuter la commande. Java .
Après son exécution, ce programme établit une connexion avec HBase et crée ensuite une table avec des noms de colonnes.
- Le nom de la table est « guru99 ».
- Les familles de colonnes sont « éducation » et « projets ».
Étape 4) Vérifiez la table créée dans HBase
On peut vérifier si la table « guru99 » est créée avec deux familles de colonnes dans HBase en utilisant le mode shell HBase avec la commande « list ». Cette commande fournit des informations sur toutes les tables créées dans HBase.
L'exécution de la commande list dans l'interface HBase confirme la présence de la nouvelle table, comme indiqué ci-dessous :
- Code vérification dans l'interface HBase en exécutant la commande « list ».
- Si nous exécutons la commande « list », elle affiche la table créée dans HBase. Dans notre cas, nous pouvons voir que la table « guru99 » a été créée.
HBase Créer une table avec Shell
Outre l' Java L'API permet de créer une table directement depuis l'interface HBase, ce qui est la méthode la plus rapide pour configurer une table en vue de tests rapides. La syntaxe pour créer une table dans HBase via l'interface est la suivante :
Syntax: create <tablename>, <columnfamilyname>
Exemple:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table – education
L'exemple ci-dessus explique comment créer une table dans HBase avec le nom spécifié, conformément aux règles définies pour chaque famille de colonnes. De plus, il est possible de lui transmettre des attributs de portée table.
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
Ici, le bloc {NAME=>'Edu', VERSIONS=>…} définit une famille de colonnes nommée « Edu » et le nombre de versions de cellules qu'elle conserve. La valeur élevée de VERSIONS est donnée à titre indicatif ; en pratique, sa valeur est faible, par exemple 3 ou 5.
Lister, décrire et vérifier les tables HBase
La création d'une table n'est que la première étape de la gestion des tables dans HBase. Une fois la table « guru99 » créée, quelques commandes générales permettent de l'inspecter et de vérifier son état avant de lire, d'écrire ou de modifier des données. Vous pouvez exécuter toutes ces commandes depuis… Coque HBase.
La commande list renvoie toutes les tables utilisateur dans HBase :
hbase> list
La commande describe affiche la structure d'une table, y compris ses familles de colonnes et indique si elle est actuellement activée :
hbase> describe 'guru99'
La commande exists vérifie si une table existe, et is_enabled indique si la table peut accepter des écritures :
hbase> exists 'guru99' hbase> is_enabled 'guru99'
Ces contrôles en lecture seule peuvent être exécutés sans risque à tout moment. Ils constituent le moyen le plus rapide de vérifier qu'une table a été créée correctement et d'examiner ses familles de colonnes avant le chargement des données.
Modifier une table HBase
Le schéma d'une table HBase n'est pas figé après sa création. La commande ALTER modifie les familles de colonnes et les attributs de portée table sans recréer la table. Selon votre version d'HBase, il peut être nécessaire de désactiver la table au préalable, puis d'exécuter la commande ALTER et de la réactiver.
Pour ajouter une nouvelle famille de colonnes à la table « guru99 » :
hbase> alter 'guru99', {NAME => 'contact'}
Pour définir le nombre de versions conservées par une famille de colonnes :
hbase> alter 'guru99', NAME => 'education', VERSIONS => 5
Pour supprimer une famille de colonnes du tableau :
hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}
Vous pouvez également modifier les attributs de portée de la table. Par exemple, vous pouvez la rendre en lecture seule ou définir la taille maximale des fichiers de région à 128 Mo :
hbase> alter 'guru99', READONLY hbase> alter 'guru99', MAX_FILESIZE => '134217728'
Étant donné que la commande ALTER réécrit le schéma, planifiez soigneusement les modifications sur une table de production et confirmez le résultat ultérieurement avec la commande DAKEY.
Désactiver, activer et supprimer les tables HBase
Pour supprimer une table ou appliquer certaines modifications, HBase exige sa désactivation préalable. La désactivation met la table hors ligne, empêchant ainsi tout accès en lecture ou en écriture par un client et garantissant la sécurité des modifications structurelles.
Désactiver une table et vérifier son état avec is_disabled :
hbase> disable 'guru99' hbase> is_disabled 'guru99'
Réactivez la table pour reprendre les opérations de lecture et d'écriture :
hbase> enable 'guru99'
Une table doit être désactivée avant de pouvoir être supprimée. Supprimerping supprime définitivement la table et toutes ses données, utilisez-la donc avec précaution :
hbase> disable 'guru99' hbase> drop 'guru99'
Pour supprimer plusieurs tables simultanément, la commande drop_all supprime toutes les tables dont le nom correspond à une expression régulière. Les commandes create, alter, disable, enable et drop couvrent l'intégralité du cycle de vie d'une table. traitement des données dans les tables HBase.






