Scénario : Echanger des données clients avec HBase - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Dans ce scénario, un Job a six composants est utilisé afin d'échanger des données clients avec une base de données HBase.

Ces six composants sont :

  • un tHBaseConnection : crée une connexion à votre base de données HBase.

  • un tFixedFlowInput : crée les données à écrire dans votre base HBase. Dans un cas d'utilisation réel, ce composant peut être remplacé par d'autres composants d'entrée, tels que le tFileInputDelimited.

  • un tHBaseOutput : écrit les données qu'il reçoit du composant précédent dans votre base de données HBase.

  • un tHBaseInput : extrait les colonnes souhaitées de votre base de données HBase.

  • un tLogRow : présente les résultats d'exécution.

  • un tHBaseClose: ferme la connexion.

Pour reproduire ce scénario, procédez comme dans les sections suivantes.

Note

Avant de commencer à reproduire le scénario, vérifiez que votre base de données Hbase et votre service Zookeeper ont été installés et configurés correctement. Ce scénario explique uniquement comment utiliser Talend pour effectuer une transaction avec une base de données HBase.

Déposer et relier les composants

Pour ce faire, procédez comme suit :

  1. Déposez un tHBaseConnection, un tFixedFlowInput, un tHBaseOutput, un tHBaseInput, un tLogRow et un tHBaseClose de la Palette dans l'espace de modélisation graphique.

  2. Cliquez-droit sur le composant tHBaseConnection afin d'ouvrir son menu contextuel et sélectionnez Trigger > On Subjob Ok pour connecter ce composant au tFixedFlowInput.

  3. Répétez l'opération afin de créer le lien OnSubjobOk du tFixedFlowInput au tHBaseInput puis au tHBaseClose.

  4. Cliquez-droit sur le tFixedFlowInput et sélectionnez Row > Main afin de connecter ce composant au tHBaseOutput.

  5. Répétez l'opération pour créer le lien Main du tHBaseInput au tLogRow.

Les composants de ce scénario sont placés et connectés entre eux. Vous devez les configurer.

Configurer la connexion

Pour configurer la connexion à votre service Zookeeper puis à la base HBase souhaitée, procédez comme suit :

  1. Dans l'espace de modélisation de votre Studio Talend, double-cliquez sur le composant tHBaseConnection pour ouvrir sa vue Component.

  2. Sélectionnez Hortonworks Data Platform dans la liste HBase version.

  3. Dans le champ Zookeeper quorum, saisissez le nom ou l'URL du service Zookeeper que vous utilisez. Dans cet exemple, le nom du service est hbase.

  4. Dans le champ Zookeeper client port, saisissez le numéro du port client d'écoute. Dans cet exemple, saisissez 2181.

  5. Si l'emplacement de Zookeeper znode parent a été défini dans le cluster Hadoop auquel vous vous connectez, cochez la case Set zookeeper znode parent et saisissez la valeur de la propriété dans le champ affiché.

Configurer l'écriture de données dans la base HBase

Pour ce faire, procédez comme suit :

  1. Dans l'espace de modélisation graphique, double-cliquez sur le composant tFixedFlowInput pour ouvrir sa vue Component.

  2. Dans cette vue, cliquez sur le bouton [...] à côté du champ Edit schema afin d'ouvrir l'éditeur de schéma.

  3. Cliquez trois fois sur le bouton [+] pour ajouter trois lignes, puis, dans la colonne Column, renommez respectivement les trois lignes comme suit : id, name et age.

  4. Dans la colonne Type, cliquez sur chacune de ces lignes, puis dans la liste déroulante, sélectionnez le type de données de chaque ligne. Dans ce scénario, sélectionnez Integer pour id et age, String pour name.

  5. Cliquez sur OK afin de valider ces modifications et acceptez la propagation proposée par la fenêtre pop-up.

  6. Dans la zone Mode, sélectionnez Use Inline Content (delimited file) pour afficher les champs à éditer.

  7. Dans le champ Content, saisissez les données délimitées à écrire dans la base de données HBase, séparées par un ;. Dans cet exemple, les données sont :

    1;Albert;23
    2;Alexandre;24
    3;Alfred-Hubert;22
    4;Andre;40
    5;Didier;28
    6;Anthony;35
    7;Artus;32
    8;Catherine;34
    9;Charles;21
    10;Christophe;36
    11;Christian;67
    12;Danniel;54
    13;Elisabeth;58
    14;Emile;32
    15;Gregory;30 
  8. Double-cliquez sur le composant tHBaseOutput afin d'afficher sa vue Component.

    Note

    Si ce composant n'a pas le même schéma que le composant précédent, une icône d'avertissement apparaît. Dans ce cas, cliquez sur le bouton Sync columns afin de récupérer le schéma du composant précédent. L'icône d'avertissement disparaît.

  9. Cochez la case Use an existing connection puis sélectionnez la connexion précédemment configurée. Dans cet exemple, sélectionnez tHBaseConnection_1.

  10. Dans le champ Table name, saisissez le nom de la table à créer dans la base de données HBase. Dans cet exemple, saisissez customer.

  11. Dans le champ Action on table, sélectionnez l'action que vous souhaitez effectuer, dans la liste déroulante. Dans ce scénario, sélectionnez Drop table if exists and create. Ainsi, si une table nommée customer existe déjà dans la base de données HBase, elle sera effacée avant la création de la nouvelle table.

  12. Cliquez sur l'onglet Advanced settings afin d'ouvrir la vue correspondante.

  13. Dans la table Family parameters, ajoutez deux lignes en cliquant deux fois sur le bouton [+] et renommez-les respectivement family1 et family2. Laissez les autres colonnes vides. Ces deux colonnes seront créées dans la base de données HBase avec les options de performances par défaut.

    Note

    La table Family parameters est disponible uniquement lorsque l'action sélectionnée dans la liste Action on table est de créer une table dans la base de données HBase. Pour plus d'informations concernant la table Family parameters, consultez tHBaseOutput.

  14. Dans la table Families de la vue Basic settings, saisissez le nom des familles dans la colonne Family name, chaque nom correspondant à la colonne contenue par la famille. Dans cet exemple, les colonnes id et age appartiennent à la famille family1 et la colonne name à la famille family2.

    Note

    Ces familles de colonnes doivent déjà exister dans la base de données HBase à laquelle vous vous connectez ou elles doivent être définies dans la table Family parameters de la vue Advanced settings.

Configurer l'extraction des données de la base HBase

Pour ce faire, effectuez les opération suivantes :

  1. Double-cliquez sur le tHBaseInput afin d'ouvrir sa vue Component.

  2. Cochez la case Use an existing connection puis sélectionnez la connexion configurée précédemment. Dans cet exemple, la connexion est tHBaseConnection_1.

  3. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

  4. Cliquez trois fois sur le bouton [+] pour ajouter trois colonnes et renommez-les respectivement id, name et age dans la colonne Column. Cela signifie que vous allez extraire ces trois colonnes de la base HBase.

  5. Sélectionnez le type de chaque colonne. Dans cet exemple, sélectionnez Integer pour id et age, String pour name.

  6. Cliquez sur OK pour valider ces modifications et acceptez la propagation proposée par la fenêtre pop-up.

  7. Dans le champ Table name, saisissez le nom de la table dont vous souhaitez extraire les colonnes. Dans ce scénario, la table se nomme customer.

  8. Dans la table Mapping, la colonne Column a été automatiquement renseignée, puisque le schéma est défini. Saisissez simplement le nom de chaque famille dans la colonne Column family, chaque nom correspondant à la colonne que la famille contient.

  9. Double-cliquez sur le composant tHBaseClose pour ouvrir sa vue Component.

  10. Dans le champ Component List, sélectionnez la connexion que vous souhaitez fermer. Dans cet exemple, sélectionnez tHBaseConnection_1.

Exécuter le Job

Pour exécuter ce Job, appuyez sur F6.

La vue Run s'ouvre automatiquement et vous pouvez voir les résultats d'exécution.

Les colonnes souhaitées sont extraites. Vous pouvez donc les traiter selon vos besoins.

En vous connectant à votre base de données HBase, vous pouvez constater que la table customer a bien été créée.