Tous les produits
Search
Centre de documentation

ApsaraDB for HBase:Archiver des données incrémentielles vers MaxCompute

Dernière mise à jour :Aug 10, 2026

Cette rubrique explique comment archiver de manière incrémentielle les données de HBase vers MaxCompute.

Important

La fonctionnalité d'archivage incrémentiel vers MaxCompute a été arrêtée le 16 juin 2023. Elle n'est pas disponible pour les instances LTS achetées après cette date. Si votre instance LTS a été achetée avant le 16 juin 2023, vous pouvez continuer à l'utiliser.

Prérequis

  • Le service LTS est activé.

  • Une source de données HBase est ajoutée.

  • Une source de données MaxCompute est ajoutée.

Versions prises en charge

  • HBase 1.x et 2.x auto-gérés.

  • EMR HBase.

  • ApsaraDB for HBase Édition Standard, ApsaraDB for HBase Édition optimisée pour les performances (en mode cluster) et Lindorm.

Limites

  • L'archivage des données en temps réel repose sur le journal des écritures anticipées (WAL) de HBase. Par conséquent, il est impossible d'exporter les données importées via un chargement en bloc.

Cycle de vie des journaux

  • Après activation de l'archivage, les journaux non consommés sont conservés par défaut pendant 48 heures. À l'issue de cette période, l'abonnement aux journaux est automatiquement annulé et les données conservées sont supprimées.

  • Si vous libérez une instance LTS sans arrêter la tâche de synchronisation, celle-ci est mise en pause et la consommation des données s'interrompt.

Soumettre une tâche d'archivage

  1. Accédez à la console LTS. Dans le volet de navigation de gauche, choisissez Lindorm/HBase Export > Incremental Archive to MaxCompute.

  2. Cliquez sur Create Job. Sur la page de création de tâche, spécifiez un Task Name (facultatif), sélectionnez le source cluster et le destination cluster, puis indiquez les tables HBase à exporter. Dans la section Table Mapping, configurez le mappage de colonnes au format JSON. Vous pouvez définir le paramètre tableMode sur wideTable (mode table large). Avant de soumettre la tâche, vérifiez que la durée de rétention des journaux dans le cluster source, définie par le paramètre hbase.master.logcleaner.ttl, est suffisamment longue pour éviter les échecs. Une fois la configuration terminée, cliquez sur Create. Cette configuration archive les données en temps réel de la table HBase wal-test vers MaxCompute.

    • Les colonnes archivées sont cf1:a, cf1:b, cf1:c et cf1:d.

    • Le paramètre mergeInterval spécifie l'intervalle d'archivage en millisecondes. La valeur par défaut est 86400000 (un jour).

    • Le paramètre mergeStartAt définit l'heure de début de la tâche au format yyyyMMddHHmmss. Vous pouvez utiliser un horodatage passé, tel que 20190930000000, pour démarrer l'archivage des données à partir du 30 septembre 2019 à 00:00:00.

  3. Consultez la progression de l'archivage des tables. Après avoir soumis la tâche, accédez à la page des détails de la tâche. La section Real-time Synchronization Channel affiche la latence de synchronisation et le décalage. La section Table Merge présente les tâches de fusion. Une fois la fusion terminée, interrogez la dernière partition de la table dans MaxCompute. La page affiche l'état des différents composants. Par exemple, l'état de Table Creation Details est SUCCEEDED, le Real-time Synchronization Channel est RUNNING avec une latence de synchronisation de 4520 ms, et la section Table Merge est RUNNING avec une progression de 47,50 %.

  4. Connectez-vous à la console MaxCompute et interrogez les données de la table. Exécutez une instruction SELECT, telle que SELECT * from hbase2odps.wal_test_xxx WHERE pt = 'xxxxxxxx', pour interroger les données archivées. Vérifiez que le résultat contient des colonnes telles que rowkey, cf1_string, cf1_long, cf1_short, cf1_bigdecimal, cf1_double, cf1_float, cf1_boolean, cf1_null et pt. Cela confirme l'archivage réussi des données de HBase vers MaxCompute.

Paramètres

La configuration de chaque table exportée utilise le format suivant :

hbaseTable/odpsTable {"cols": ["cf1:a|string", "cf1:b|int", "cf1:c|long", "cf1:d|short","cf1:e|decimal", "cf1:f|double","cf1:g|float","cf1:h|boolean","cf1:i"], "mergeInterval": 86400000, "mergeStartAt": "20191008100547"}
hbaseTable/odpsTable {"cols": ["cf1:a", "cf1:b", "cf1:c"],  "mergeStartAt": "20191008000000"}
hbaseTable {"mergeEnabled": false} // No merge operation is performed.

La configuration d'exportation se compose de trois parties : hbaseTable, odpsTable et tbConf.

  • hbaseTable : spécifie la table HBase source.

  • odpsTable : facultatif. Spécifie le nom de la table de destination. Par défaut, ce nom est identique à celui de la table HBase. Les noms de table MaxCompute ne prennent pas en charge les points (.) ni les traits d'union (-) ; ces caractères sont automatiquement convertis en traits de soulignement (_).

  • tbConf : spécifie le comportement d'archivage pour la table. Le tableau suivant décrit les paramètres pris en charge.

|
Paramètre
|
Description
|
Exemple
| | --- | --- | --- | |
cols
|
Spécifie les colonnes à exporter et leurs types de données. Si vous omettez un type de données, le système convertit la valeur au format HexString.
|
"cols": ["cf1:a", "cf1:b", "cf1:c"]
| |
mergeEnabled
|
Indique si une table clé-valeur (KV) doit être convertie en table large. Valeur par défaut : `true`.
|
"mergeEnabled": false
| |
mergeStartAt
|
Spécifie l'heure de début de l'opération de fusion. Vous pouvez indiquer une heure passée. La valeur doit être au format `yyyyMMddHHmmss`.
|
"mergeStartAt": "20191008000000"
| |
mergeInterval
|
Spécifie l'intervalle entre les opérations de fusion, en millisecondes. La valeur par défaut est `86400000`, ce qui signifie que les données sont archivées quotidiennement.
|
"mergeInterval": 86400000
|