Tous les produits
Search
Centre de documentation

Data Lake Formation:Accéder à DLF avec Flink SQL

Dernière mise à jour :Sep 21, 2026

Cette rubrique explique comment se connecter à un catalogue Data Lake Formation (DLF) depuis votre espace de travail Realtime Compute for Apache Flink en utilisant Flink SQL et Paimon REST.

Prérequis

  • Vous disposez d'un espace de travail entièrement géré pour Realtime Compute for Apache Flink. Si vous n'en avez pas encore créé, consultez la section Activer Realtime Compute for Apache Flink.

  • Assurez-vous que votre espace de travail Realtime Compute for Apache Flink et DLF se trouvent dans la même région. Vous devez également ajouter le VPC de l'espace de travail à la liste d'autorisation de DLF. Pour plus d'informations, consultez le Guide d'utilisation de l'API.

Limitations

Seule la version 11.1.0 ou ultérieure de Ververica Runtime (VVR) prend en charge la connexion à un catalogue DLF.

Créer un catalogue DLF

Pour plus d'informations, consultez la section Premiers pas avec DLF.

Enregistrer le catalogue dans Flink

Remarque

Cette opération mappe votre catalogue DLF en tant que métadonnées uniquement. La création ou la suppression de ce catalogue dans Realtime Compute for Apache Flink n'affecte pas les données sous-jacentes dans DLF.

  1. Connectez-vous à la console Realtime Compute.

  2. Dans la liste des espaces de travail entièrement gérés, cliquez sur le nom de votre espace de travail pour ouvrir sa console.

  3. Enregistrez le catalogue via l'interface utilisateur ou en exécutant des commandes SQL.

    Interface utilisateur

    1. Dans le volet de navigation de gauche, cliquez sur Catalogs.

    2. Sur la page Catalog List, cliquez sur Create Catalog.

    3. Sélectionnez Apache Paimon puis cliquez sur Next.

    4. Définissez le paramètre metastore sur dlf. Pour le paramètre catalog name, sélectionnez le catalogue DLF souhaité. Cliquez sur OK pour créer le catalogue.

    Commandes SQL

    Dans l'éditeur Scripts, saisissez et exécutez l'instruction SQL suivante pour créer le catalogue.

    CREATE CATALOG `flink_catalog_name` 
    WITH (
      'type' = 'paimon',
      'metastore' = 'rest',
      'token.provider' = 'dlf',
      'uri' = 'http://cn-hangzhou-vpc.dlf.aliyuncs.com',
      'warehouse' = 'dlf_test'
    );

    Le tableau suivant décrit les paramètres.

    Paramètre

    Description

    Obligatoire

    Exemple

    type

    Type du catalogue. Ce paramètre est fixé à paimon.

    Oui

    paimon

    metastore

    Type du metastore. Ce paramètre est fixé à rest.

    Oui

    rest

    token.provider

    Fournisseur de jetons. Ce paramètre est fixé à dlf.

    Oui

    dlf

    uri

    URI pour accéder au serveur de catalogue REST DLF. Le format est http://[region-id]-vpc.dlf.aliyuncs.com. Pour plus d'informations sur les ID de région, consultez la section Endpoints.

    Oui

    http://cn-hangzhou-vpc.dlf.aliyuncs.com

    warehouse

    Nom du catalogue DLF sous-jacent à utiliser comme entrepôt de données.

    Oui

    dlf_test

Erreurs courantes

java.lang.NullPointerException

  • Exemple de trace de pile :

    Caused by: java.lang.NullPointerException
    	at org.apache.paimon.rest.HttpClient.getRequestUrl(HttpClient.java:180)
    	at org.apache.paimon.rest.HttpClient.get(HttpClient.java:108)
    	at org.apache.paimon.rest.RESTCatalog.<init>(RESTCatalog.java:159)
    	at org.apache.paimon.rest.RESTCatalog.<init>(RESTCatalog.java:141)
    	at org.apache.paimon.rest.RESTCatalogFactory.create(RESTCatalogFactory.java:36)
    	at org.apache.paimon.catalog.CatalogFactory.createUnwrappedCatalog(CatalogFactory.java:84)
    	at org.apache.paimon.catalog.CatalogFactory.createCatalog(CatalogFactory.java:71)
    	at org.apache.paimon.flink.VvrCatalogFactory.createCatalog(VvrCatalogFactory.java:67)
    	at org.apache.paimon.flink.VvrCatalogFactory.createCatalog(VvrCatalogFactory.java:37)
    	at org.apache.flink.table.gateway.vvr.module.delegation.CatalogFactoryWrapper.createCatalog(CatalogFactoryWrapper.java:91)
    	at org.apache.flink.table.factories.FactoryUtil.createCatalog(FactoryUtil.java:572)
    	... 23 more
  • Solution :

    Vérifiez la valeur du paramètre uri dans la configuration de votre catalogue. La valeur doit commencer par http://.

ForbiddenException: You are not authorized to do this operation

  • Exemple de trace de pile :

    Caused by: org.apache.paimon.rest.exceptions.ForbiddenException: Forbidden: You are not authorized to do this operation. Action: dlf:GetConfig. AccessDeniedDetail : {"AuthAction":"dlf:GetConfig","AuthPrincipalType":"AssumedRoleUser","AuthPrincipalOwnerId":"xxxxx","AuthPrincipalDisplayName":"aliyunstreamasidefaultrole:xxxxx","PolicyType":"AccountLevelIdentityBasedPolicy","NoPermissionType":"ImplicitDeny"} requestId:xxxxx
    	at org.apache.paimon.rest.DefaultErrorHandler.accept(DefaultErrorHandler.java:59)
    	at org.apache.paimon.rest.DefaultErrorHandler.accept(DefaultErrorHandler.java:35)
    	at org.apache.paimon.rest.HttpClient.exec(HttpClient.java:205)
    	at org.apache.paimon.rest.HttpClient.get(HttpClient.java:112)
    	at org.apache.paimon.rest.RESTCatalog.<init>(RESTCatalog.java:159)
    	at org.apache.paimon.rest.RESTCatalog.<init>(RESTCatalog.java:141)
    	at org.apache.paimon.rest.RESTCatalogFactory.create(RESTCatalogFactory.java:36
  • Solution :

    Accordez la stratégie AliyunDLFFullAccess au rôle AliyunStreamAsiDefaultRole. Cette étape pourrait devenir inutile lors de futures mises à jour du produit.

    1. Connectez-vous à la console RAM avec votre compte Alibaba Cloud ou en tant qu'administrateur RAM.

    2. Dans le volet de navigation de gauche, accédez à Identities > Roles et recherchez le rôle AliyunStreamAsiDefaultRole.

    3. Dans la colonne Actions, cliquez sur Grant Permission.

    4. Dans la section Policy , recherchez et sélectionnez la stratégie AliyunDLFFullAccess. Cliquez sur Grant Permissions.