|
|
|
|
|
- Présentation
- Comment est organisée une base HBase ?
- Comment manipuler une base de données HBase en programmation ?
- Comment créer une table HBase ?
- Comment récupérer la liste des tables d'une base HBase ?
- Comment récupérer la description d'une table HBase ?
- Comment supprimer une table HBase ?
- Comment lire les données d'une table HBase ?
- Comment écrire des données dans une table HBase ?
- Comment supprimer des données dans une table HBase ?
- Comment faire un parcours avec filtre d'une table HBase ?
HBase est une base de données non relationnelle (NoSQL) distribuée, orientée colonne disposant d'un stockage non structuré pour les grandes tables. HBase est une composante essentielle de Hadoop. HBase est conçue pour traiter des données aux volumes importants (plusieurs milliards de lignes, plusieurs millions de colonnes par ligne) et non uniformes (chaque ligne peut avoir une structure différente des autres lignes). Comment est organisée une base HBase ? Dans une base HBase, les données sont stockées dans des tables (fichiers), de manière dé-normalisée. Chaque table est découpée en familles de colonnes (rubriques), qui contiennent elles-mêmes des colonnes. Chaque ligne ("row", équivalent d'un enregistrement dans un SGBD traditionnel) est identifiée par un et un seul "rowKey". Pour chaque ligne, dans une même famille de colonnes, le nombre et le nom des colonnes est libre. Le "rowKey" est la seule clé de la table. Une cellule est l'intersection d'une ligne et d'une colonne. L'historique du contenu d'une cellule est conservé de façon horodatée (avec la date/heure d'écriture). Il est possible de poser des filtres sur une table HBase (un peu à la manière d'un filtre sur HFSQL). Comment manipuler une base de données HBase en programmation ? Le WLangage permet de : - créer des tables
- manipuler des tables existantes :
- manipuler les données des tables :
Attention : Les fonctions HBase sont disponibles en édition et en exécution uniquement à partir de Windows Vista ou Windows Server 2008. Comment créer une table HBase ? Pour créer une table HBase, il faut : - Définir et initialiser une variable de type hbConnexion.
- Définir et initialiser une variable de type hbDescriptionTable. Cette variable contient un tableau de variables de type hbDescriptionColonne décrivant les colonnes.
- Utiliser la fonction hbCréeTable.
Exemple :
// Connexion Connexion est une hbConnexion Connexion.Serveur = "MonServeur" // Description de la table DescTable est une hbDescriptionTable DescTable.Nom = "blog" // Description de la colonne "Post" DescCol est une hbDescriptionColonne DescCol.Nom = "Post" Ajoute(DescTable.Colonne, DescCol) // Création de la table hbCréeTable(Connexion, DescTable)
Comment récupérer la liste des tables d'une base HBase ? Pour récupérer la liste des tables d'une base HBase, il faut : - Définir et initialiser une variable de type hbConnexion.
- Utiliser la fonction hbListeTable.
Exemple :
// Connexion Connexion est une hbConnexion Connexion.Serveur = "MonServeur" // Affichage de la liste des tables Trace(hbListeTable(Connexion))
Comment récupérer la description d'une table HBase ? Pour récupérer la description d'une table HBase, il faut : - Définir et initialiser une variable de type hbConnexion.
- Utiliser la fonction hbRécupèreDescriptionTable.
- Récupérer la description de la table dans une variable de type hbDescriptionTable. Cette variable contient un tableau de variables de type hbDescriptionColonne décrivant les colonnes.
Exemple :
Connexion est un hbConnexion
Connexion.Serveur = "MonServeur"
DescTable est un hbDescriptionTable = hbRécupèreDescriptionTable(Connexion, "blog")
Trace("table : " + DescTable.Nom)
POUR TOUT DescCol DE DescTable.Colonne
Trace(TAB + "colonne : " + DescCol.Nom)
Trace(TAB + TAB + "attribut : ")
POUR TOUT ValAttribut, NomAttribut de DescCol.Attribut
Trace(TAB + TAB + NomAttribut + " = " + ValAttribut)
FIN
FIN
Comment supprimer une table HBase ? Pour supprimer une table HBase, il faut : - Définir et initialiser une variable de type hbConnexion.
- Utiliser la fonction hbSupprimeTable en précisant le nom de la table à supprimer.
Exemple :
Connexion est un hbConnexion
Connexion.Serveur = "MonServeur"
hbSupprimeTable(Connexion, "blog")
Comment lire les données d'une table HBase ? Pour lire les données d'une table HBase, il faut : - Définir et initialiser une variable de type hbConnexion.
- Définir et initialiser une variable de type hbLecture. Cette variable contient un tableau de variables de type hbColonne décrivant les colonnes à récupérer.
- Utiliser la fonction hbLit.
- Lire les données dans le résultat de type hbCellule
Exemple :
// Connexion Connexion est une hbConnexion Connexion.Serveur = "MonServeur" // Description des données à lire Lecture est une hbLecture Lecture.Ligne = "post1" Lecture.Version = 2 // Description colonne Col est une hbColonne Col.Famille = "Post" Ajoute(Lecture.Colonne, Col) // Lecture des données MonRésultat est un tableau de hbCellules = hbLit(Connexion, "blog", Lecture) // Affichage des données lues POUR TOUT Cellule DE MonRésultat FAIRE Trace("Colonne : " + Cellule.Colonne.Qualificatif + "; Valeur : " + ... Cellule.Valeur + "; timestamp : " + Cellule.Timestamp) FIN
Comment écrire des données dans une table HBase ? Pour écrire les données d'une table HBase, il faut : - Définir et initialiser une variable de type hbConnexion.
- Définir et initialiser une variable de type hbEcriture. Cette variable contient un tableau de variables de type hbCellule décrivant les données à écrire.
- Utiliser la fonction hbEcrit.
Exemple :
// Connexion Connexion est une hbConnexion Connexion.Serveur = "MonServeur" // Description des données à écrire Ecriture est une hbEcriture Ecriture.Ligne = "post1" Cellule est une hbCellule Cellule.Colonne.Famille = "post" Cellule.Colonne.Qualificatif = "titre" Cellule.Valeur = "Ceci est mon message sur le blog." Ajoute(Ecriture.Cellule, Cellule) // Ecriture des données hbEcrit(Connexion, "blog", Ecriture)
Comment supprimer des données dans une table HBase ? Pour supprimer des données dans une table HBase, il faut : - Définir et initialiser une variable de type hbConnexion.
- Utiliser la fonction hbSupprime en précisant l'identifiant de la ligne à supprimer.
Exemple :
// Connexion Connexion est une hbConnexion Connexion.Serveur = "MonServeur" // Suppression de toute la ligne hbSupprime(Connexion, "blog", "post1")
Comment faire un parcours avec filtre d'une table HBase ? Pour faire un parcours avec filtre d'une table HBase, il faut : - Définir et initialiser une variable de type hbConnexion.
- Définir et initialiser une variable de type hbParamètreScan. Cette variable définit le filtre à réaliser.
- Parcourir les données filtrées (correspondant à la variable de type hbParamètreScan) via l'instruction POUR TOUT. Le résultat du parcours est lu dans une variable de type hbRésultatScan.
Exemple :
// Connexion Connexion est une hbConnexion Connexion.Serveur = "MonServeur" // Description du filtre MonScan est un hbParamètreScan MonScan.Connexion = Connexion MonScan.Table = "blog" // Filtre pour toutes les lignes les valeurs des colonnes dont le nom commence par "Titre" MonScan.Filtre = "{ ""type"": ""ColumnPrefixFilter"", ""value"": """ + ... Encode("Titre", encodeBASE64) + """ }" // Parcours selon le filtre et affichage des données filtrées // La variable de parcours MonRésultat est de type hbRésultatScan POUR TOUT MonRésultat DE MonScan Trace("La colonne " + MonRésultat.Colonne.Famille + ":" + ... MonRésultat.Colonne.Qualificatif + ... " de la ligne " + MonRésultat.Ligne + " vaut " + MonRésultat.Valeur) FIN
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|