Une fois un catalogue DLF-Legacy configuré, vous accédez directement à ses tables depuis la console Realtime Compute for Apache Flink. Vous évitez ainsi l'enregistrement manuel des tables Data Lake Formation (DLF), ce qui améliore l'efficacité du développement et garantit l'intégrité des données. Cette rubrique explique comment créer, consulter, utiliser et supprimer un catalogue DLF-Legacy.
Cette rubrique s'applique uniquement à DLF-Legacy. Nous vous recommandons d'utiliser la dernière version de Data Lake Formation (DLF) plutôt que DLF-Legacy. Pour plus d'informations sur l'utilisation de la nouvelle version de DLF, consultez Gérer les catalogues Paimon.
Informations générales
Alibaba Cloud Data Lake Formation (DLF) est un service unifié de gestion des métadonnées. DLF permet de gérer des tables dans des formats open source tels que Iceberg, Hudi, Delta, Parquet, ORC et Avro.
Prérequis
Le service DLF-Legacy doit être activé
Limites
Dans un catalogue DLF-Legacy, Flink ne gère que les tables aux formats de lac de données Iceberg et Hudi.
Créer un catalogue DLF-Legacy
Vous pouvez créer un catalogue DLF-Legacy via l'interface utilisateur ou des commandes SQL. Nous vous recommandons d'utiliser l'interface utilisateur.
Via l'interface utilisateur
-
Accédez à la page Catalogs.
Connectez-vous à la console Realtime Compute for Apache Flink.
Dans la colonne Actions de l'espace de travail cible, cliquez sur Console.
Cliquez sur Catalogs.
Cliquez sur Create Catalog, sélectionnez DLF, puis cliquez sur Next.
-
Créez le catalogue DLF-Legacy.
-
Configurez les paramètres du catalogue.
Paramètre
Description
Obligatoire
Remarques
catalogname
Nom du catalogue DLF-Legacy.
Oui
Saisissez un nom personnalisé en anglais.
access.key.id
AccessKey ID permettant d'accéder à Object Storage Service (OSS).
Oui
Pour plus d'informations, consultez Obtenir une paire d'AccessKey.
access.key.secret
AccessKey Secret permettant d'accéder à Object Storage Service (OSS).
Oui
Pour plus d'informations, consultez Obtenir une paire d'AccessKey.
warehouse
Chemin OSS par défaut où sont stockées les tables du catalogue DLF-Legacy.
Oui
OSS et OSS-HDFS sont tous deux pris en charge.
-
Format de chemin OSS :
oss://<bucket>/<object> -
Format de chemin OSS-HDFS :
oss://<bucket>.<oss-hdfs-endpoint>/<object>
Les espaces réservés sont décrits comme suit :
-
bucket : nom de votre bucket OSS. Consultez le nom du bucket dans la console OSS.
-
object : chemin où vos données sont stockées. Consultez ce chemin dans la console OSS.
-
oss-hdfs-endpoint : endpoint du service OSS-HDFS. Dans la console OSS, sur la page Overview d'un bucket, consultez l'endpoint du HDFS service dans la section Access Ports.
RemarqueCe paramètre accepte un chemin OSS-HDFS uniquement à partir de VVR 8.0.3.
oss.endpoint
Endpoint d'Alibaba Cloud OSS. Par exemple,
oss-cn-hangzhou-internal.aliyuncs.com.Oui
OSS et OSS-HDFS sont tous deux pris en charge.
-
Endpoint du service OSS. Pour plus d'informations, consultez Régions et endpoints.
-
Endpoint du service OSS-HDFS. Dans la console OSS, sur la page Overview d'un bucket, consultez l'endpoint du HDFS service dans la section Access Ports.
Remarque-
Nous vous recommandons de définir le paramètre oss.endpoint sur un endpoint VPC pour OSS. Par exemple, si vous vous trouvez dans la région Chine (Hangzhou), définissez oss.endpoint sur
oss-cn-hangzhou-internal.aliyuncs.com. -
Pour accéder à OSS entre plusieurs VPC, consultez Comment accéder à d'autres services entre VPC ?.
dlf.endpoint
Endpoint du service Alibaba Cloud DLF.
Oui
Remarque-
Nous vous recommandons de définir le paramètre dlf.endpoint sur un endpoint VPC pour DLF. Par exemple, si vous vous trouvez dans la région Chine (Hangzhou), définissez le paramètre dlf.endpoint sur
dlf-vpc.cn-hangzhou.aliyuncs.com. -
Pour accéder à DLF entre plusieurs VPC, consultez Gestion et opérations des espaces de travail.
dlf.region-id
ID de région du service Alibaba Cloud DLF.
Oui
RemarqueAssurez-vous que l'ID de région correspond à la région du paramètre dlf.endpoint.
Configurations
Paramètres DLF supplémentaires. Par exemple, pour spécifier plusieurs catalogues DLF, saisissez chacun d'eux sur une nouvelle ligne.
Non
Exemple :
dlf.catalog.id:my_catalog. -
Cliquez sur Confirm.
-
Une fois le catalogue créé, consultez-le dans la section Catalogs.
Via des commandes SQL
-
Dans l'éditeur de texte de la page Scripts, saisissez la commande de création d'un catalogue DLF-Legacy.
CREATE CATALOG <yourcatalogname> WITH ( 'type' = 'dlf', 'access.key.id' = '<YourAliyunAccessKeyId>', 'access.key.secret' = '<YourAliyunAccessKeySecret>', 'warehouse' = '<YourAliyunOSSLocation>', 'oss.endpoint' = '<YourAliyunOSSEndpoint>', 'dlf.region-id' = '<YourAliyunDLFRegionId>', 'dlf.endpoint' = '<YourAliyunDLFEndpoint>' );Paramètre
Description
Obligatoire
Remarques
yourcatalogname
Nom personnalisé du catalogue DLF-Legacy.
Oui
Saisissez un nom personnalisé en anglais.
ImportantAprès avoir remplacé le paramètre par le nom de votre catalogue, supprimez les chevrons (<>). Sinon, une erreur de syntaxe se produira.
type
Type du catalogue.
Oui
Définissez ce paramètre sur
dlf.access.key.id
AccessKey ID de votre compte Alibaba Cloud.
Oui
Pour plus d'informations, consultez Obtenir une paire d'AccessKey.
access.key.secret
AccessKey Secret de votre compte Alibaba Cloud.
Oui
Pour plus d'informations, consultez Obtenir une paire d'AccessKey.
warehouse
Chemin OSS par défaut pour les tables du catalogue DLF-Legacy.
Oui
Le format est oss://<bucket>/<object>. Les espaces réservés sont décrits comme suit :
-
bucket : nom de votre bucket OSS.
-
object : chemin où vos données sont stockées.
RemarqueConsultez les noms de vos buckets et objets dans la console OSS.
oss.endpoint
Endpoint d'Alibaba Cloud OSS.
Oui
Pour plus d'informations, consultez Régions et endpoints.
Remarque-
Nous vous recommandons de définir le paramètre oss.endpoint sur un endpoint VPC pour OSS. Par exemple, si vous vous trouvez dans la région Chine (Hangzhou), définissez oss.endpoint sur
oss-cn-hangzhou-internal.aliyuncs.com. -
Pour accéder à OSS entre plusieurs VPC, consultez Gestion et opérations des espaces de travail.
dlf.endpoint
Endpoint du service Alibaba Cloud DLF.
Oui
Remarque-
Nous vous recommandons de définir le paramètre dlf.endpoint sur un endpoint VPC pour DLF. Par exemple, si vous vous trouvez dans la région Chine (Hangzhou), définissez le paramètre dlf.endpoint sur
dlf-vpc.cn-hangzhou.aliyuncs.com. -
Pour accéder à DLF entre plusieurs VPC, consultez Gestion et opérations des espaces de travail.
dlf.region-id
ID de région du service Alibaba Cloud DLF.
Oui
RemarqueAssurez-vous que l'ID de région correspond à la région du paramètre dlf.endpoint.
-
Sélectionnez l'instruction et cliquez sur Run.
Consultez le catalogue créé dans la section Catalogs située à gauche.
Consulter un catalogue DLF-Legacy
Après la création d'un catalogue DLF-Legacy, vous pouvez consulter ses métadonnées.
-
Accédez à la page Catalogs.
Connectez-vous à la console Realtime Compute for Apache Flink.
Dans la colonne Actions de l'espace de travail cible, cliquez sur Console.
Cliquez sur Catalogs.
-
Sur la page Catalog list, consultez le Name et le Type.
RemarquePour consulter les bases de données et les tables d'un catalogue, cliquez sur View.
Utiliser un catalogue DLF-Legacy
Gérer les bases de données DLF
Dans l'éditeur de texte de la page Scripts, saisissez les instructions suivantes. Sélectionnez une instruction et cliquez sur Run. Une fois la base de données créée ou supprimée, vérifiez le résultat dans la section Catalogs située à gauche de la page SQL Editor.
-
Créer une base de données
CREATE DATABASE dlf.dlf_testdb; -
Supprimer une base de données
DROP DATABASE dlf.dlf_testdb;
Gérer les tables DLF
-
Créer une table
-
Créer une table à l'aide d'un connecteur
SQL
Dans l'éditeur de texte de la page Scripts, saisissez une instruction. Sélectionnez l'instruction et cliquez sur Run. Une fois la table créée, consultez-la dans la section Catalogs située à gauche de la page SQL Editor.
CREATE TABLE dlf.dlf_testdb.iceberg ( id BIGINT, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'iceberg' ); CREATE TABLE dlf.dlf_testdb.hudi ( id BIGINT PRIMARY KEY NOT ENFORCED, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'hudi' );UI
-
Accédez à la page Catalogs.
Connectez-vous à la console Realtime Compute for Apache Flink.
Dans la colonne Actions de l'espace de travail cible, cliquez sur Console.
Cliquez sur Catalogs.
Dans la colonne Actions du catalogue cible, cliquez sur View.
Dans la colonne Actions de la base de données cible, cliquez sur View.
Cliquez sur Create Table.
Dans l'onglet Built-in, cliquez sur Connection Type et sélectionnez un type de table.
Cliquez sur Next.
-
Saisissez l'instruction de création de table et configurez les paramètres. Le code suivant fournit un exemple.
CREATE TABLE dlf.dlf_testdb.iceberg ( id BIGINT, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'iceberg' ); CREATE TABLE dlf.dlf_testdb.hudi ( id BIGINT PRIMARY KEY NOT ENFORCED, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'hudi' ); Cliquez sur Confirm.
-
-
Créer une table avec un schéma correspondant (cette méthode est prise en charge uniquement pour les tables Iceberg)
Dans l'éditeur de texte de la page Scripts, saisissez l'instruction suivante. Sélectionnez l'instruction et cliquez sur Run.
CREATE TABLE iceberg_table_like LIKE iceberg_table;
-
-
Supprimer une table
DROP TABLE iceberg_table;
Modifier le schéma d'une table Iceberg****
Dans l'éditeur de texte de la page Scripts, saisissez la commande requise. Sélectionnez la commande et cliquez sur Run.
|
Actions |
Exemple |
|
Modifier les propriétés de la table |
|
|
Renommer une table |
|
|
Renommer une colonne |
Remarque
Cette fonctionnalité est prise en charge uniquement à partir de VVR 8.0.7. |
|
Modifier un type de données |
Les règles suivantes s'appliquent lors de la modification du type de données d'une colonne :
Remarque
Cette fonctionnalité est prise en charge uniquement à partir de VVR 8.0.7. |
Écrire des données
INSERT INTO dlf.dlf_testdb.iceberg VALUES (1, 'AAA', '2022-02-01'), (2, 'BBB', '2022-02-01');
INSERT INTO dlf.dlf_testdb.hudi VALUES (1, 'AAA', '2022-02-01'), (2, 'BBB', '2022-02-01');
Lire des données
SELECT * FROM dlf.dlf_testdb.iceberg LIMIT 2;
SELECT * FROM dlf.dlf_testdb.hudi LIMIT 2;
Supprimer un catalogue DLF-Legacy
La suppression d'un catalogue DLF-Legacy n'affecte pas les déploiements en cours d'exécution. Toutefois, les déploiements utilisant ce catalogue peuvent échouer lors d'un redémarrage ou d'une republication, car ils ne trouveront plus les tables associées. Procédez avec prudence.
Vous pouvez supprimer un catalogue DLF-Legacy via l'interface utilisateur ou des commandes SQL. Nous vous recommandons d'utiliser l'interface utilisateur.
Via l'interface utilisateur
-
Accédez à la page Catalogs.
Connectez-vous à la console Realtime Compute for Apache Flink.
Dans la colonne Actions de l'espace de travail cible, cliquez sur Console.
Cliquez sur Catalogs.
Sur la page Catalog list, cliquez sur Delete dans la colonne Actions du catalogue cible.
Dans le message de confirmation qui s'affiche, cliquez sur Delete.
Vérifiez que le catalogue cible a bien été supprimé dans la section Catalogs située à gauche.
Via des commandes SQL
-
Dans l'éditeur de texte de la page Scripts, saisissez la commande suivante.
DROP CATALOG ${catalog_name}Remplacez ${catalog_name} par le nom du catalogue DLF-Legacy à supprimer.
Sélectionnez la commande et cliquez sur Run.
Vérifiez que le catalogue cible a bien été supprimé dans la section Catalogs située à gauche.
Documents connexes
Pour plus d'informations sur l'utilisation du connecteur Iceberg, consultez Connecteur Iceberg.
Pour plus d'informations sur l'utilisation du connecteur Hudi, consultez Connecteur Hudi (en cours de retrait).
Si les catalogues intégrés ne répondent pas à vos besoins métier, créez un catalogue personnalisé. Pour plus d'informations, consultez Gérer les catalogues personnalisés.