Tous les produits
Search
Centre de documentation

Hologres:Synchronisation en temps réel DataHub

Dernière mise à jour :Sep 18, 2026

Diffusez les données de DataHub vers Hologres pour l'analyse en temps réel, la surveillance, la génération de rapports ou le traitement complexe des données. L'association des fonctionnalités de DataHub et de Hologres améliore l'efficacité et la précision de vos pipelines de données. Cette rubrique explique comment créer un DataConnector pour synchroniser les données depuis DataHub et propose des solutions aux problèmes courants.

Informations générales

DataHub peut servir de source ou de destination de données, ce qui vous permet de synchroniser les données d'un topic vers d'autres services Alibaba Cloud en temps réel/quasi temps réel. Cela simplifie le flux de données entre différents services. Pour plus d'informations sur la fonctionnalité de synchronisation des données DataHub, consultez la section Présentation.

Le tableau suivant décrit les correspondances entre les concepts de DataHub et de Hologres.

DataHub

Hologres

Project

Database

Topic

Table

Modes et politiques de synchronisation

Modes de synchronisation

Mode

Description

Insertion ligne par ligne

Insère les données DataHub dans Hologres une par une. Ce mode convient si vous souhaitez synchroniser toutes les données de DataHub vers Hologres.

Lecture

Réplique les opérations de modification effectuées sur le projet DataHub source dans la base de données Hologres de destination afin de garantir la cohérence des données. Vous pouvez obtenir les opérations de modification des données en analysant les journaux binaires. Ce mode est adapté si vous souhaitez synchroniser les données d'une source vers DataHub à l'aide de DTS (Data Transmission Service), puis les synchroniser vers Hologres. Dans ce cas, DataHub équivaut aux journaux binaires.

Remarque

Lorsque DTS est utilisé pour synchroniser les données vers DataHub, des colonnes supplémentaires sont ajoutées aux colonnes de données synchronisées pour décrire les opérations sur les données. Les noms des colonnes supplémentaires peuvent entrer en conflit avec les noms des colonnes existantes dans le topic DataHub de destination. Pour plus d'informations sur la prévention des conflits, consultez la section Modifier les règles de nommage des colonnes supplémentaires.

Politiques de synchronisation

Politique

Description

Replace

En cas de conflit de clé primaire lors de l'écriture des données, les nouvelles données écrasent les données d'origine. Cela garantit la cohérence des données entre les bases de données source et de destination.

Ignore

En cas de conflit de clé primaire lors de l'écriture des données, le système ignore les nouvelles données. Les données ne sont pas mises à jour. Cela empêche l'écriture de données en double et garantit l'intégrité des données de la base de données de destination.

Précautions

  • Seules les données des topics de type TUPLE dans DataHub peuvent être synchronisées vers Hologres.

  • Avant d'écrire des données dans une table partitionnée de l'instance Hologres, créez une table enfant. Pour plus d'informations, consultez la section CREATE PARTITION TABLE.

  • Chaque DataConnector utilise des connexions. Le nombre de connexions utilisées par chaque DataConnector correspond au nombre de shards dans le topic DataHub.

Préparatifs

  1. Activez DataHub et préparez vos données. Pour plus d'informations, consultez la section Premiers pas avec DataHub.

  2. Achetez une instance Hologres et créez une table. Cette rubrique utilise une table nommée lineitem à titre d'exemple. Pour plus d'informations, consultez les sections Acheter une instance Hologres et Se connecter à Hologres via HoloWeb pour créer une table.

    Le tableau suivant décrit les correspondances entre les types de données dans DataHub et Hologres.

    DataHub

    Hologres

    TINYINT

    SMALLINT

    SMALLINT

    SMALLINT

    INTEGER

    INTEGER

    BIGINT

    BIGINT

    FLOAT

    REAL

    DOUBLE

    DOUBLE PRECISION

    DECIMAL

    DECIMAL

    STRING

    TEXT

    BOOLEAN

    BOOLEAN

    TIMESTAMP

    TIMESTAMPTZ

    Par exemple, exécutez les instructions suivantes pour créer une table :

    BEGIN;
    CREATE TABLE lineitem ( 
    L_ORDERKEY BIGINT NOT NULL,
    L_PARTKEY BIGINT NOT NULL,
    L_SUPPKEY BIGINT NOT NULL,
    L_LINENUMBER BIGINT NOT NULL,
    L_QUANTITY DECIMAL(20,10),
    L_EXTENDEDPRICE DECIMAL(20,10),
    L_DISCOUNT DECIMAL(20,10),
    L_TAX DECIMAL(20,10),
    L_RETURNFLAG TEXT,
    L_LINESTATUS TEXT,
    L_SHIPDATE TIMESTAMPTZ,
    L_COMMITDATE TIMESTAMPTZ,
    L_RECEIPTDATE TIMESTAMPTZ,
    L_SHIPINSTRUCT TEXT,
    L_SHIPMODE TEXT,
    L_COMMENT TEXT
    );
    CALL set_table_property('lineitem', 'orientation', 'column');
    COMMIT;

Créer un DataConnector

  1. Connectez-vous à la console DataHub et cliquez sur le topic que vous avez créé pour accéder à la page des détails du topic.

  2. Dans le coin supérieur droit, cliquez sur + Connector.

  3. Cliquez sur Hologres et configurez les paramètres dans le panneau Create connector.

    Paramètre

    Description

    Instance

    ID de l'instance Hologres. Accédez à la console Hologres pour obtenir l'Instance ID.

    Database

    Nom de la base de données Hologres vers laquelle vous souhaitez synchroniser les données DataHub.

    Table

    Nom de la table Hologres qui reçoit les données de DataHub. Cet exemple utilise lineitem.

    Primary Key Conflict Policy

    Politique de mise à jour des données en cas de conflit de clé primaire. Valeurs possibles :

    • replace : En cas de conflit de clé primaire lors de l'écriture des données, les nouvelles données écrasent les données d'origine. Il s'agit de la valeur par défaut.

    • ignore : En cas de conflit de clé primaire lors de l'écriture des données, le système ignore les nouvelles données. Les données ne sont pas mises à jour et les données d'origine sont conservées.

    Pour plus d'informations sur les politiques de synchronisation des données, consultez la section Politiques de synchronisation de cette rubrique.

    Replication Scenario

    Mode utilisé pour la synchronisation des données. Valeurs possibles :

    • default : Les données sont insérées une par une. Il s'agit de la valeur par défaut.

    • dts : Sélectionnez cette option si vous utilisez DTS pour synchroniser les données vers DataHub et avez activé les nouvelles règles de nommage pour les colonnes supplémentaires.

    • dts_old : Utilisez ce mode lorsque vous utilisez DTS pour synchroniser les données vers DataHub sans activer les nouvelles règles de nommage pour les colonnes supplémentaires.

    Pour plus d'informations sur les modes de synchronisation des données, consultez la section Modes de synchronisation de cette rubrique.

    Import Fields

    Champs que vous souhaitez synchroniser vers Hologres. Vous pouvez synchroniser tout ou partie des champs du topic DataHub en fonction de vos besoins métier.

    Authentication Mode

    Mode d'authentification de l'accès à l'instance Hologres. Valeur par défaut : AccessKey.

    Access Key ID

    AccessKey ID du compte Alibaba Cloud utilisé pour accéder à l'instance Hologres. Vous pouvez obtenir l'AccessKey ID depuis la page AccessKey Pair.

    AccessKey secret

    AccessKey secret du compte Alibaba Cloud utilisé pour accéder à l'instance Hologres. Vous pouvez obtenir l'AccessKey secret depuis la page AccessKey Pair.

    Timestamp Unit

    Unité d'horodatage utilisée par le DataConnector pour la synchronisation des données. Valeurs possibles :

    • MICROSECOND : Il s'agit de la valeur par défaut.

    • MILLISECOND.

    • SECOND.

  4. Cliquez sur Create pour démarrer la synchronisation des données.

    Une fois le DataConnector créé, consultez l'état de la synchronisation en temps réel dans l'onglet Data Synchronization Tasks de la page des détails du topic.

  5. Interrogez les données synchronisées dans Hologres.

    Connectez l'instance Hologres à un outil de développement et vérifiez si les données sont synchronisées vers l'instance Hologres en temps réel. Pour plus d'informations sur les outils de développement, consultez la section Présentation. Par exemple, exécutez l'instruction suivante pour interroger les données synchronisées :

    SELECT COUNT(*) FROM lineitem;

Erreurs courantes et dépannage

Cette section décrit les erreurs courantes signalées lors de l'utilisation de Hologres et fournit les solutions à ces erreurs.

  • Erreur 1

    • Description du problème

      ErrorMessage: Import field not found in dest schema.
    • Causes

      • La table Hologres de destination ne contient pas les champs spécifiés comme champs d'importation dans le DataConnector.

      • Le paramètre Synchronization Scenarios est défini sur default, mais les colonnes supplémentaires générées lors de la synchronisation des données vers DataHub à l'aide de DTS sont configurées comme champs d'importation dans le DataConnector.

    • Solutions

      • Créez une table Hologres et ajoutez les champs manquants. Vous pouvez également modifier le paramètre Import Fields du DataConnector pour supprimer les champs supplémentaires.

      • Créez un DataConnector et définissez le paramètre Synchronization Scenarios sur dts ou dts_old.

  • Erreur 2

    • Description du problème

      ErrorMessage: Column type not match with Holo column.
    • Cause

      Les types de données des champs dans le topic DataHub ne correspondent pas aux types de données des champs dans la table Hologres.

    • Solution

      Créez une table Hologres et spécifiez des types de données valides pour la table en fonction des correspondances de types de données.

  • Erreur 3

    • Description du problème

      ErrorMessage: Not import column xxx not allow null and no default value.
    • Cause

      La table Hologres de destination contient certains champs qui ne sont pas spécifiés comme champs d'importation dans le DataConnector. Ces champs sont configurés avec la propriété not null et aucune valeur par défaut n'est configurée pour eux.

    • Solution

      Créez une table Hologres. Pour les champs qui ne sont pas spécifiés comme champs d'importation dans le DataConnector, configurez des valeurs par défaut pour ces champs ou ne configurez pas la propriété not null.