Migrez vos catalogues de données de DLF-Legacy vers DLF en exécutant une action de clonage Paimon sous forme de job JAR dans Realtime Compute for Apache Flink. Le job copie les tables Hive (au format Parquet, ORC ou Avro), les tables Iceberg, les tables Hudi ou les tables Paimon depuis DLF-Legacy vers DLF en tant que tables Paimon en mode ajout uniquement (append-only).
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un espace de travail Flink entièrement géré. Consultez la rubrique Activer Realtime Compute for Apache Flink.
Un bucket OSS. Consultez la rubrique Créer un bucket.
Un catalogue de données DLF-Legacy. Consultez la rubrique Gestion des métadonnées.
Un catalogue de données DLF. Consultez la rubrique Créer un catalogue de données.
Étape 1 : Créer un job JAR
Connectez-vous à la console Realtime Compute for Apache Flink.
Dans la liste des espaces de travail Flink entièrement gérés, cliquez sur le nom de votre espace de travail.
Dans le volet de navigation de gauche, choisissez Operation Center > Deployments.
-
Cliquez sur Deploy Job, sélectionnez JAR Job et définissez les paramètres suivants.
Pour une description complète des paramètres de déploiement, consultez la rubrique Déployer un job JAR .
Paramètre Description Exemple Deployment Mode Fixé sur Batch Mode. Batch Mode Deployment Name Nom du job JAR. migrate_paimon Engine Version Version du moteur Flink. vvr-8.0.11-flink-1.17 JAR URI Téléchargez le package paimon-flink-action-1.3-SNAPSHOT-for-clone-20250909.jar. Si vous l'avez déjà téléchargé, sélectionnez-le dans la liste déroulante. — Entry Point Class Classe de point d'entrée du JAR. Laissez vide Entry Point Main Arguments Paramètres transmis à la méthode principale. Définis à l'étape 2. Laissez vide pour l'instant Additional Dependencies Téléchargez le package paimon-ali-vvr-8.0-vvp-1.3-ali-SNAPSHOT-for-clone-20250909.jar. Si vous l'avez déjà téléchargé, sélectionnez-le dans la liste déroulante. — Cliquez sur Deploy.
Étape 2 : Configurer et démarrer le job
Un seul job Flink peut migrer un catalogue entier, une base de données entière ou une seule table. La portée dépend des paramètres définis. Le tableau ci-dessous répertorie tous les paramètres ; consultez la section Portée de la migration pour savoir lesquels omettre.
Dans la liste Deployments, localisez le job JAR et cliquez sur Details.
-
Sur la page Deployment Details, cliquez sur Edit et renseignez le champ Entry Point Main Arguments à l'aide du modèle ci-dessous. Utilisez le même modèle pour les tables source Hive et Paimon. La seule différence réside dans la valeur de
--clone_from.ImportantConservez la confidentialité de votre AccessKey secret. Il n'est affiché qu'une seule fois lors de sa création et ne peut pas être récupéré ultérieurement.
Référence des paramètres
Paramètre Description Obligatoire Exemple parallelismParallélisme du job Flink. Non 16database-nameNom de la base de données source DLF-Legacy. Non my_databasetable-nameNom de la table source DLF-Legacy. Non my_tablewarehouseChemin OSS du catalogue de données source DLF-Legacy. Format : oss://<bucket>/<object>. Retrouvez votre bucket et votre objet dans la console OSS.Oui oss://my-bucket/my-pathdlf.catalog.idID du catalogue de données DLF-Legacy. Retrouvez-le dans la console DLF-Legacy. Consultez la rubrique Catalogue de données. Oui — dlf.catalog.accessKeyIdAccessKey ID pour DLF-Legacy. Consultez la rubrique Créer un AccessKey. Oui — dlf.catalog.accessKeySecretAccessKey secret pour DLF-Legacy. Oui — dlf.catalog.endpointEndpoint du service DLF-Legacy. Consultez la rubrique Régions et endpoints. Oui dlf-vpc.cn-hangzhou.aliyuncs.comdlf.catalog.regionRégion de DLF-Legacy. Doit correspondre à dlf.catalog.endpoint. Consultez la rubrique Régions et endpoints.Oui cn-hangzhoufs.oss.endpointEndpoint du service OSS. Consultez la rubrique Régions et endpoints. Oui OSS : oss-cn-hangzhou-internal.aliyuncs.com; OSS-HDFS :cn-hangzhou.oss-dls.aliyuncs.comfs.oss.accessKeyIdAccessKey ID disposant des autorisations de lecture et d'écriture sur OSS. Consultez la rubrique Créer un AccessKey. Oui — fs.oss.accessKeySecretAccessKey secret disposant des autorisations de lecture et d'écriture sur OSS. Oui — target-database-nameNom de la base de données cible dans DLF. Non target_databasetarget-table-nameNom de la table cible dans DLF. Non target_tabletarget-warehouseNom du catalogue de données cible dans DLF. Retrouvez-le dans la console DLF. Consultez la rubrique Catalogue de données. Oui — dlf.next.endpointEndpoint du service DLF. Consultez la rubrique Endpoints. Oui cn-hangzhou-vpc.dlf.aliyuncs.comdlf.access-key-idAccessKey ID pour DLF. Consultez la rubrique Créer un AccessKey. Oui — dlf.access-key-secretAccessKey secret pour DLF. Oui — clone_fromType de table source. Oui 'hive'ou'paimon'filter-specFiltre de partition pour un clonage sélectif. Non dt = '2024-10-01'Cloner des tables Hive
Les tables source peuvent être des tables Hive (telles que Parquet, ORC et Avro), des tables Iceberg ou des tables Hudi. Après la migration, elles sont converties en tables Paimon en mode ajout uniquement.
clone --parallelism '<parallelism>' --database '<database-name>' --table '<table-name>' --catalog_conf 'metastore=dlf' --catalog_conf "warehouse=<warehouse>" --catalog_conf 'dlf.catalog.id=<dlf.catalog.id>' --catalog_conf 'dlf.catalog.accessKeyId=<dlf.catalog.accessKeyId>' --catalog_conf 'dlf.catalog.accessKeySecret=<dlf.catalog.accessKeySecret>' --catalog_conf 'dlf.catalog.endpoint=<dlf.catalog.endpoint>' --catalog_conf 'dlf.catalog.region=<dlf.catalog.region>' --catalog_conf 'fs.oss.endpoint=<fs.oss.endpoint>' --catalog_conf 'fs.oss.accessKeyId=<fs.oss.accessKeyId>' --catalog_conf 'fs.oss.accessKeySecret=<fs.oss.accessKeySecret>' --target_database '<target-database-name>' --target_table '<target-table-name>' --target_catalog_conf 'metastore=rest' --target_catalog_conf 'warehouse=<target-warehouse>' --target_catalog_conf 'uri=<dlf.next.endpoint>' --target_catalog_conf 'token.provider=dlf' --target_catalog_conf 'dlf.access-key-id=<dlf.access-key-id>' --target_catalog_conf 'dlf.access-key-secret=<dlf.access-key-secret>' --clone_from 'hive' --where '<filter-spec>'Cloner des tables Paimon
clone --parallelism '<parallelism>' --database '<database-name>' --table '<table-name>' --catalog_conf 'metastore=dlf' --catalog_conf "warehouse=<warehouse>" --catalog_conf 'dlf.catalog.id=<dlf.catalog.id>' --catalog_conf 'dlf.catalog.accessKeyId=<dlf.catalog.accessKeyId>' --catalog_conf 'dlf.catalog.accessKeySecret=<dlf.catalog.accessKeySecret>' --catalog_conf 'dlf.catalog.endpoint=<dlf.catalog.endpoint>' --catalog_conf 'dlf.catalog.region=<dlf.catalog.region>' --catalog_conf 'fs.oss.endpoint=<fs.oss.endpoint>' --catalog_conf 'fs.oss.accessKeyId=<fs.oss.accessKeyId>' --catalog_conf 'fs.oss.accessKeySecret=<fs.oss.accessKeySecret>' --target_database '<target-database-name>' --target_table '<target-table-name>' --target_catalog_conf 'metastore=rest' --target_catalog_conf 'warehouse=<target-warehouse>' --target_catalog_conf 'uri=<dlf.next.endpoint>' --target_catalog_conf 'token.provider=dlf' --target_catalog_conf 'dlf.access-key-id=<dlf.access-key-id>' --target_catalog_conf 'dlf.access-key-secret=<dlf.access-key-secret>' --clone_from 'paimon' --where '<filter-spec>'
Portée de la migration
Contrôlez la portée de la migration en incluant ou en omettant des paramètres spécifiques.
| Objectif | Omettre | Facultatif |
|---|---|---|
| Migrer une seule table | — | Définissez --where pour cloner des partitions spécifiques |
| Migrer une base de données entière | --table et --target_table |
Utilisez --excluded_tables pour ignorer des tables spécifiques |
| Migrer un catalogue entier | --database, --target_database, --table et --target_table |
Utilisez --excluded_tables pour ignorer des tables spécifiques |
Le paramètre --excluded_tables accepte une liste séparée par des virgules de paires database.table (exemple : my_db.my_tbl,my_db2.my_tbl2). Ne définissez pas ce paramètre pour les migrations de table unique.
Cliquez sur Save.
Sur la page Deployments, localisez le job JAR et cliquez sur Start. Acceptez les paramètres de démarrage par défaut.
Étape 3 : Vérifier la migration
Lorsque le statut du job passe à Finished, vérifiez le résultat dans les deux consoles.
Ouvrez la console DLF-Legacy et notez la structure du catalogue source, des bases de données et des tables que vous avez migrés.
-
Ouvrez la console DLF et confirmez les éléments suivants en fonction de votre portée de migration :
Portée de la migration Éléments à vérifier dans DLF Catalogue entier Toutes les bases de données et tables existent ; le nombre de tables correspond à celui de DLF-Legacy Base de données entière Toutes les tables de la base de données existent ; le nombre de tables et les schémas correspondent à ceux de DLF-Legacy Table unique La table existe ; le schéma (noms de colonnes, types de données et champs de partition) correspond à celui de DLF-Legacy Ouvrez une table représentative dans la console DLF et comparez son schéma et sa liste de partitions avec la table correspondante dans DLF-Legacy afin de confirmer que les données ont été correctement clonées.