DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / Big Data / Gestion des bases de données HBase
  • 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 ?
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Gestion des bases HBase
Présentation
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 :
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 :
  1. Définir et initialiser une variable de type hbConnexion.
  2. Définir et initialiser une variable de type hbDescriptionTable. Cette variable contient un tableau de variables de type hbDescriptionColonne décrivant les colonnes.
  3. 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 :
  1. Définir et initialiser une variable de type hbConnexion.
  2. 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 :
  1. Définir et initialiser une variable de type hbConnexion.
  2. Utiliser la fonction hbRécupèreDescriptionTable.
  3. 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
Connexion est une hbConnexion
Connexion.Serveur = "MonServeur"
// Récupération de la description de la table
DescTable est une hbDescriptionTable = hbRécupèreDescriptionTable(Connexion, "blog")
// Affichage du nom de la table
Trace("table : " + DescTable.Nom)
// Affichage de la description des colonnes
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 :
  1. Définir et initialiser une variable de type hbConnexion.
  2. Utiliser la fonction hbSupprimeTable en précisant le nom de la table à supprimer.
Exemple :
// Connexion
Connexion est un hbConnexion
Connexion.Serveur = "MonServeur"
// Suppression de la table
hbSupprimeTable(Connexion, "blog")

Comment lire les données d'une table HBase ?

Pour lire les données d'une table HBase, il faut :
  1. Définir et initialiser une variable de type hbConnexion.
  2. 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.
  3. Utiliser la fonction hbLit.
  4. 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 :
  1. Définir et initialiser une variable de type hbConnexion.
  2. 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.
  3. 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 :
  1. Définir et initialiser une variable de type hbConnexion.
  2. 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 :
  1. Définir et initialiser une variable de type hbConnexion.
  2. Définir et initialiser une variable de type hbParamètreScan. Cette variable définit le filtre à réaliser.
  3. 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
Voir Aussi
Version minimum requise
  • Version 21
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale