Exportez toutes les données d'une table HBase vers MaxCompute à l'aide de Lindorm Tunnel Service (LTS). L'exportation s'exécute sous forme de tâche par lots et permet de filtrer les données par plage de rowkey, plage temporelle ou colonnes spécifiques. Privilégiez cette méthode pour obtenir un instantané complet, ponctuel ou périodique, d'une table HBase dans MaxCompute en vue d'analyses hors ligne.
Cette fonctionnalité n'est pas disponible pour les instances LTS achetées après le 16 juin 2023. Elle reste toutefois accessible pour les instances acquises avant cette date.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Activé LTS et configuré un nom d'utilisateur ainsi qu'un mot de passe pour l'interface web LTS
Ajouté une source de données HBase dans LTS
Ajouté une source de données MaxCompute dans LTS
Versions prises en charge
Les types de déploiement HBase suivants sont pris en charge :
HBase V1.x et HBase V2.x autogérés
Elastic MapReduce (EMR) HBase
ApsaraDB for HBase Édition Standard
ApsaraDB for HBase Édition aux performances améliorées (mode cluster)
Lindorm
Choisir un mode d'exportation
LTS propose deux modes d'exportation. Sélectionnez celui qui correspond à la structure de données souhaitée dans MaxCompute.
| Mode KV | Mode table large | |
|---|---|---|
| Structure de sortie | Chaque ligne dans MaxCompute représente une paire clé-valeur (KV) dans HBase (rowkey, version, op, family, qualifier, value) | Chaque ligne dans MaxCompute représente une ligne HBase, avec les colonnes sélectionnées mappées aux colonnes MaxCompute |
| Sélection des colonnes | Non requise — toutes les colonnes sont exportées automatiquement | Requise — spécifiez les colonnes à exporter en utilisant "cols" |
| Types de données | Les valeurs sont toujours stockées au format HexString | Par défaut au format HexString ; prend en charge le mappage explicite des types (string, int, long, short, decimal, double, float, boolean) |
| Cas d'utilisation | Vous avez besoin des données brutes au niveau des cellules, y compris les marqueurs de suppression | Vous avez besoin d'une table structurée pour l'analyse |
Créer une tâche d'exportation
Connectez-vous à l'interface web LTS. Dans le volet de navigation de gauche, choisissez Data Export > Archive Full Data to MaxCompute.
-
Sur la page Lindorm/HBase archive to MaxCompute, cliquez sur create new job.

-
Sélectionnez le cluster source et le cluster de destination, spécifiez la table à exporter, puis cliquez sur create.

Cliquez sur le nom de la tâche pour surveiller la progression de l'exportation.
-
Une fois l'exportation terminée, connectez-vous à la console MaxCompute pour interroger les données.

Configurer les paramètres d'exportation
Lors de la création d'une tâche, spécifiez la configuration d'exportation sous forme de chaîne JSON après le nom de la table. Le format général est le suivant :
hbaseTable {"tableMode": "KVTable"}
hbaseTable {"tableMode": "wideTable", "cols": ["f1:a", "f1:b", "f1:c"]}
hbaseTable {"tableMode": "wideTable", "cols": ["f1:a|string", "f1:b|boolean"], "startTs": "20190101000000", "endTs": "20200101000000", "startKey": "a", "endKey": "z"}
Pour exporter vers une table MaxCompute portant un nom différent, utilisez le format hbaseTable/odpsTable :
hbaseTable/odpsTable {"tableMode": "KVTable"}
Par défaut, le nom de la table MaxCompute correspond au nom de la table HBase. Les tirets (-) et les points (.) présents dans les noms de tables HBase sont remplacés par des traits de soulignement (_).
Référence des paramètres
| Paramètre | Description | Valeur par défaut | S'applique à | ||
|---|---|---|---|---|---|
tableMode |
Mode d'exportation. Valeurs valides : KVTable, wideTable. |
— | Les deux modes | ||
cols |
Colonnes à exporter, au format family:qualifier. Ajoutez ` |
type` pour spécifier le type de données, par exemple `f1:a |
string`. |
— |
Mode table large uniquement (requis) |
startKey |
Rowkey de début pour la plage d'exportation. | Début de la table | Les deux modes | ||
endKey |
Rowkey de fin pour la plage d'exportation. | Fin de la table | Les deux modes | ||
startTs |
Horodatage de début pour la plage temporelle, au format yyyyMMddHHmmss, par exemple 20191001153000. |
— | Les deux modes | ||
endTs |
Horodatage de fin pour la plage temporelle, au format yyyyMMddHHmmss. |
— | Les deux modes |
Types de données pris en charge pour cols : string, int, long, short, decimal, double, float, boolean. Si aucun type n'est spécifié, les valeurs sont exportées au format HexString (par défaut : hex).
Sortie du mode KV
Entrée :
tablexxx {"tableMode": "KVTable"}
Réponse :

Chaque ligne de la table MaxCompute représente une paire clé-valeur dans HBase :
| Champ | Description |
|---|---|
rowkey |
Le rowkey de la ligne HBase |
version |
La version de la paire clé-valeur |
op |
Le type d'opération. Valeurs valides : Put, DeleteFamily, DeleteColumn |
family |
La famille de colonnes |
qualifier |
Le nom de la colonne |
value |
La valeur de la cellule, encodée au format HexString |
Sortie du mode table large
Entrée :
hbaseTable/odpsTable {"tableMode": "wideTable", "cols": ["cf1:string|string", "cf1:int|int", "cf1:double|double"]}
Spécifiez les colonnes à exporter en utilisant "cols". Chaque entrée mappe une colonne HBase à une colonne MaxCompute. Ajoutez |type pour spécifier le type de données ; omettez-le pour utiliser le format HexString par défaut.
Réponse :
