Utilisez Realtime Compute for Apache Flink pour accéder aux tables Iceberg dans Alibaba Cloud Data Lake Formation (DLF) en enregistrant un catalogue DLF dans la console de développement Flink. Une fois le catalogue configuré, gérez directement les bases de données et les tables Iceberg à l'aide de SQL.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un espace de travail Flink exécutant Ververica Runtime (VVR) 11.1 ou une version ultérieure
Un catalogue DLF dans la même région que votre espace de travail Flink. Consultez Démarrage rapide avec DLF
Limitations
| Fonctionnalité | Prise en charge | Notes |
|---|---|---|
| Créer un catalogue Iceberg | Oui | VVR 11.1+ requis ; seuls les catalogues DLF sont pris en charge |
| Créer une base de données | Oui | Une base de données default est créée automatiquement ; la base de données default ne peut pas être supprimée |
| Créer une table | Oui | — |
| Modifier le schéma d'une table | Oui | Renommer, ajouter/supprimer des colonnes, modifier l'ordre des colonnes et les commentaires |
| Supprimer une table | Oui | — |
| Supprimer un catalogue | Oui | Supprime uniquement l'enregistrement du catalogue dans Flink ; n'affecte pas les données dans DLF |
Créer un catalogue Iceberg DLF
La création d'un catalogue Iceberg dans Flink enregistre un mappage vers votre catalogue DLF existant. Cette opération ne crée ni ne modifie les données dans DLF. Toutes les tables créées dans le catalogue DLF via Iceberg REST sont des tables Iceberg.
Connectez-vous à la console Realtime Compute for Apache Flink.
Dans la colonne Actions de votre espace de travail, cliquez sur Console.
Dans le volet de navigation de gauche, accédez à Development > Scripts et créez un nouveau script.
-
Dans l'éditeur SQL, collez l'instruction suivante. Dans le coin inférieur droit, cliquez sur Environment et sélectionnez un cluster de session exécutant VVR 11.2.0 ou une version ultérieure. Exécutez ensuite l'instruction.
CREATE CATALOG `catalog_name` WITH ( 'type' = 'iceberg', 'catalog-type' = 'rest', 'token.provider' = 'dlf', 'uri' = 'http://cn-hangzhou-vpc.dlf.aliyuncs.com/iceberg', 'warehouse' = 'iceberg_test', 'rest.signing-region' = 'cn-hangzhou', 'io-impl' = 'org.apache.iceberg.rest.DlfFileIO' );Remplacez les valeurs de
uri,warehouseetrest.signing-regionpar vos propres paramètres. Consultez Point de terminaison Iceberg REST pour obtenir la liste des URI disponibles par région. Le tableau suivant décrit chaque option.Option Obligatoire Description Exemple typeOui Définissez la valeur sur iceberg.icebergcatalog-typeOui Définissez la valeur sur rest.resttoken.providerOui Définissez la valeur sur dlf. Configure l'authentification basée sur DLF.dlfuriOui Le point de terminaison Iceberg REST pour votre catalogue DLF. L'URI varie selon la région. Consultez Point de terminaison Iceberg REST. http://ap-southeast-1-vpc.dlf.aliyuncs.com/icebergwarehouseOui Le nom de votre catalogue DLF. iceberg_testrest.signing-regionOui L'ID de la région où DLF est déployé. cn-hangzhouio-implOui Définissez la valeur sur org.apache.iceberg.rest.DlfFileIO.org.apache.iceberg.rest.DlfFileIO
Afficher ou supprimer un catalogue
Sur la console Realtime Compute for Apache Flink, cliquez sur Console dans la colonne Actions de votre espace de travail.
-
Accédez à la page Data Management et ouvrez Catalog List.
Pour afficher les bases de données et les tables d'un catalogue, cliquez sur View à côté du nom du catalogue.
-
Pour supprimer un catalogue, cliquez sur Delete dans la colonne Actions.
ImportantLa suppression d'un catalogue retire uniquement son enregistrement de Data Management dans votre projet Flink. Les fichiers de données Iceberg sous-jacents dans DLF ne sont pas affectés. Pour réutiliser les tables, enregistrez à nouveau le catalogue.
Vous pouvez également exécuter l'instruction suivante sur la page Data Query :
DROP CATALOG <catalog_name>;
Gérer les bases de données Iceberg
Exécutez les instructions suivantes sur la page Data Query : sélectionnez le code et cliquez sur Run.
Créer une base de données
Lorsque vous créez un catalogue Iceberg, une base de données nommée default est automatiquement créée. Pour ajouter une autre base de données :
-- Replace my-catalog with your catalog name.
USE CATALOG `my-catalog`;
-- Replace my_db with the database name you want to create.
CREATE DATABASE `my_db`;
Supprimer une base de données
La base de données default d'un catalogue DLF ne peut pas être supprimée.
-- Replace my-catalog with your catalog name.
USE CATALOG `my-catalog`;
-- Delete a database only if it is empty.
DROP DATABASE `my_db`;
-- Delete a database and all tables inside it.
DROP DATABASE `my_db` CASCADE;
Gérer les tables Iceberg
Une fois un catalogue Iceberg enregistré, référencez ses tables dans un job sans déclarer de langage de définition de données (DDL). Utilisez le nom complet en trois parties <catalog>.<database>.<table>, ou exécutez d'abord USE CATALOG et USE <database>, puis référencez la table par son nom seul.