Alibaba Cloud Elasticsearch vous permet de rechercher et d'analyser les données stockées dans HBase. Utilisez la fonctionnalité Data Integration de DataWorks pour synchroniser hors ligne les données depuis HBase vers une instance Alibaba Cloud Elasticsearch.
Contexte
DataWorks est une plateforme complète de développement et de gouvernance des big data, construite sur des moteurs de big data. Elle intègre des fonctionnalités telles que le développement de données, la planification des tâches et la gestion des données. Les tâches de synchronisation de DataWorks permettent de synchroniser rapidement les données de diverses sources vers Alibaba Cloud Elasticsearch.
-
Sources de données prises en charge :
Bases de données Alibaba Cloud (MySQL, PostgreSQL, SQL Server, MongoDB et HBase)
Alibaba Cloud PolarDB-X (mise à niveau depuis DRDS)
Alibaba Cloud MaxCompute
Alibaba Cloud OSS
Alibaba Cloud Tablestore
Versions auto-gérées de HDFS, Oracle, FTP, DB2 et autres types de bases de données pris en charge
-
Scénarios :
Synchronisation hors ligne de big data vers Alibaba Cloud Elasticsearch. Vous pouvez synchroniser une base de données entière ou toutes les données d'une table spécifique. Pour plus d'informations, consultez Synchronisation hors ligne d'une base de données MySQL entière vers Elasticsearch.
Synchronisation en temps réel de big data vers Alibaba Cloud Elasticsearch. Cette méthode prend en charge la synchronisation complète et incrémentielle. Pour plus d'informations, consultez Synchronisation en temps réel d'une base de données MySQL entière vers Elasticsearch.
Prérequis
Une instance HBase a été créée. Pour plus d'informations, consultez Créer une instance.
Une instance Alibaba Cloud Elasticsearch a été créée et la fonctionnalité Auto Indexing est activée pour cette instance. Pour plus d'informations, consultez Créer une instance Alibaba Cloud Elasticsearch et Configurer les paramètres YML.
Un espace de travail DataWorks a été créé. Pour plus d'informations, consultez Créer un espace de travail.
La synchronisation des données n'est possible que vers Alibaba Cloud Elasticsearch. Les instances Elasticsearch auto-gérées ne sont pas prises en charge.
L'instance HBase, l'instance Alibaba Cloud Elasticsearch et l'espace de travail DataWorks doivent se trouver dans la même région.
L'instance HBase, l'instance Alibaba Cloud Elasticsearch et l'espace de travail DataWorks doivent être configurés sur le même fuseau horaire. Sinon, un décalage horaire peut apparaître entre les données source et destination lors de la synchronisation des données temporelles.
Facturation
Pour obtenir des informations sur les frais liés à une instance Alibaba Cloud Elasticsearch, consultez Éléments facturables Elasticsearch.
Pour obtenir des informations sur les frais liés à un groupe de ressources Data Integration, consultez Frais des groupes de ressources.
Procédure
Étape 1 : Préparer les données source
Cet exemple utilise l'instruction de création de table et les données de test suivantes. Pour plus d'informations sur l'importation de données dans une instance HBase, consultez Utiliser HBase Shell pour accéder.
-
Instruction de création de table
create 'student', {NAME => 'name'}, {NAME => 'ID'}, {NAME => 'gender'} -
Données de test
Exécutez la commande
putpour insérer des données dans la table. Exemple :put 'student', 'row1', 'name:a', 'xiaoming'.Exécutez la commande
scanpour afficher les données de la table. Exemple :scan 'student'.
Étape 2 : Acheter et configurer un groupe de ressources exclusif
Achetez un groupe de ressources exclusif pour Data Integration et associez-y un VPC et un espace de travail. Un groupe de ressources exclusif garantit une transmission des données rapide et stable.
Connectez-vous à la console DataWorks.
Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Resource Groups.
Sous l'onglet Exclusive Resource Group, cliquez sur .
-
Sur la page DataWorks Exclusive Resources (Subscription), définissez le paramètre Resource Type sur Exclusive Resource Group for Data Integration, saisissez un nom pour le groupe de ressources, puis cliquez sur Buy Now pour acheter le groupe de ressources exclusif.
Pour plus d'informations, consultez Étape 1 : Acheter un groupe de ressources.
-
Dans la colonne Actions du groupe de ressources exclusif que vous avez créé, cliquez sur Network Settings pour associer un VPC.
RemarqueCette procédure synchronise les données via un VPC en utilisant un groupe de ressources exclusif pour Data Integration. Pour plus d'informations, consultez Configurer une liste d'autorisation d'adresses IP.
Pour synchroniser les données, le groupe de ressources exclusif doit se connecter aux VPC des instances HBase et Alibaba Cloud Elasticsearch. Associez le groupe de ressources au Virtual Private Cloud (VPC), à la Zone et au VSwitch des deux instances. Pour afficher les informations VPC de l'instance Alibaba Cloud Elasticsearch, consultez Afficher les informations de base d'une instance Elasticsearch.
ImportantAprès avoir associé un VPC, ajoutez le vSwitch CIDR Block du VPC aux listes d'autorisation d'adresses IP privées des instances HBase et Alibaba Cloud Elasticsearch. Pour plus d'informations, consultez Configurer une liste d'autorisation d'adresses IP publiques ou privées pour une instance Elasticsearch.
Dans le coin supérieur gauche, cliquez sur l'icône de retour pour revenir à la page Resource List.
-
Dans la colonne Actions du groupe de ressources exclusif, cliquez sur Attach Workspace pour associer l'espace de travail de destination.
Pour plus d'informations, consultez Étape 2 : Associer un espace de travail.
Étape 3 : Ajouter des sources de données
Ajoutez les sources de données HBase et Elasticsearch à Data Integration dans DataWorks.
-
Accédez à la page Data Integration.
Connectez-vous à la console DataWorks.
Dans le volet de navigation de gauche, cliquez sur Workspace.
Dans la colonne Actions de l'espace de travail cible, choisissez .
Dans le volet de navigation de gauche, cliquez sur Data Source.
-
Ajoutez une source de données HBase.
Sur la page Data Sources, cliquez sur Add Data Source.
Dans la boîte de dialogue Add Data Source, recherchez et sélectionnez HBase.
-
Dans la boîte de dialogue Add HBase Data Source, configurez les paramètres dans la section Basic Information.
Pour plus d'informations, consultez Configurer une source de données HBase.
Dans la section Connection Configuration, cliquez sur Test Connectivity. Le statut Connected indique que la connexion a réussi.
Cliquez sur OK.
Ajoutez une source de données Elasticsearch de la même manière. Pour plus d'informations, consultez Configurer une source de données Elasticsearch.
Étape 4 : Configurer et exécuter une tâche de synchronisation hors ligne
Configurez et exécutez une tâche de synchronisation hors ligne sur un groupe de ressources exclusif.
Les étapes suivantes utilisent l'interface sans code. Pour savoir comment utiliser l'éditeur de code, consultez Configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code et Elasticsearch Writer.
Les étapes suivantes sont effectuées sur la page legacy Data Development (DataStudio).
-
Accédez à la page Data Development.
Connectez-vous à la console DataWorks.
Dans le volet de navigation de gauche, cliquez sur Workspace.
Dans la colonne Actions de l'espace de travail de destination, choisissez .
-
Créez un nœud de synchronisation hors ligne.
Sous l'onglet Data Development (
), choisissez .Cliquez avec le bouton droit sur le workflow que vous avez créé et choisissez .
Dans la boîte de dialogue Create Node, saisissez un nom pour le nœud et cliquez sur OK.
-
Configurez le réseau et les ressources.
Dans la section Source, sélectionnez HBase dans la liste déroulante Source et sélectionnez le nom de la source de données source dans la liste déroulante Data Source Name.
Dans la section Resource Group, sélectionnez le groupe de ressources exclusif.
Dans la section Destination, sélectionnez Elasticsearch dans la liste déroulante Destination et sélectionnez le nom de la source de données de destination dans la liste déroulante Data Source Name.
Cliquez sur Next.
-
Configurez la tâche.
Dans la section Source, sélectionnez la table que vous souhaitez synchroniser.
Dans la section Destination, configurez les paramètres.
Dans la section Field Mapping, mappez la Source Column à la Target Column. Pour plus d'informations, consultez Configurer une tâche de synchronisation hors ligne à l'aide de l'interface sans code.
Dans la section Channel Control, configurez les paramètres de canal.
Pour plus d'informations, consultez Configurer une tâche de synchronisation hors ligne à l'aide de l'interface sans code.
-
Exécutez la tâche.
(Facultatif) Sur le côté droit de la page, cliquez sur Properties pour configurer les paramètres de planification. Pour plus d'informations, consultez Configuration de la planification.
Dans la barre d'outils supérieure, cliquez sur l'icône Enregistrer pour enregistrer la tâche.
-
Dans la barre d'outils supérieure, cliquez sur l'icône Soumettre pour soumettre la tâche.
Si vous configurez les propriétés de planification, la tâche s'exécute périodiquement. Vous pouvez également cliquer sur l'icône Exécuter dans le coin supérieur droit de l'éditeur de nœuds pour exécuter la tâche immédiatement.
Le message
Shell run successfully!dans le journal d'exécution indique que la tâche a été exécutée avec succès.
Étape 5 : Vérifier les données synchronisées
Connectez-vous à la console Kibana de votre cluster Elasticsearch et accédez à la page d'accueil Kibana.
Dans le menu de navigation de gauche, cliquez sur Dev tools.
-
Sous l'onglet Console, exécutez la commande suivante pour afficher les données synchronisées.
POST /student_info/_search?pretty { "query": { "match_all": {}} }Remarquestudent_infoest le nom de l'index de destination configuré dans la tâche de synchronisation hors ligne.