Cette rubrique explique comment connecter Serverless StarRocks à un catalogue Data Lake Formation (DLF) via le protocole Iceberg REST.
Connectez Serverless StarRocks à Data Lake Formation (DLF) via le protocole Iceberg REST pour permettre à StarRocks d'interroger directement les tables Iceberg stockées dans DLF.
Prérequis
Avant de commencer, vérifiez que vous disposez des éléments suivants :
Une instance Serverless StarRocks exécutant la version 3.3.20-2.0.0 ou ultérieure. Consultez les rubriques Créer une instance et Notes de version d'EMR StarRocks.
Un catalogue DLF est créé.
Configuration du contrôle d'accès
DLF utilise Resource Access Management (RAM) pour le contrôle d'accès. Par défaut, les utilisateurs StarRocks n'ont pas accès à DLF. Pour accorder cet accès, créez un utilisateur RAM qui servira d'identité StarRocks lors de la connexion à DLF, attribuez-lui les autorisations de données nécessaires dans la console DLF, puis mappez-le à un utilisateur StarRocks.
Étape 1 : Créer ou sélectionner un utilisateur RAM
Connectez-vous à la console RAM en tant que propriétaire du compte Alibaba Cloud ou administrateur RAM.
-
Créez un utilisateur RAM ou sélectionnez-en un existant.
Le nom de l'utilisateur RAM ne doit contenir que des lettres, des chiffres et des traits de soulignement (
_) afin de respecter les conventions de nommage de StarRocks.
Étape 2 : Accorder les autorisations de données dans DLF
Connectez-vous à la console DLF.
Accédez à votre catalogue Paimon.
-
Dans l'onglet Permissions, cliquez sur Grant Permissions et accordez à l'utilisateur RAM les accès aux données nécessaires sur votre catalogue. Pour plus d'informations, consultez la rubrique Gérer les autorisations de données.

Étape 3 : Créer et configurer un utilisateur StarRocks
Accédez à la console EMR Serverless StarRocks.
Cliquez sur Connect dans la colonne Actions de votre instance StarRocks. Dans EMR StarRocks Manager, cliquez sur New connection, sélectionnez votre région et votre instance, puis connectez-vous en tant que
adminavec le mot de passe défini lors de la création de l'instance Serverless StarRocks. Pour plus d'informations, consultez la rubrique Utiliser EMR StarRocks Manager pour se connecter à une instance EMR Serverless StarRocks.Dans StarRocks Manager, accédez à Security Center > User Management et cliquez sur Create User.
-
Dans la boîte de dialogue Create User, configurez les paramètres suivants et cliquez sur OK :
Champ Valeur User Source Sélectionnez RAM User Username Sélectionnez l'utilisateur RAM créé à l'étape 1 Password Définissez un mot de passe pour cet utilisateur StarRocks Role La valeur par défaut est public -
Accordez des privilèges StarRocks au nouvel utilisateur :
Sur la page User Management, localisez le nouvel utilisateur et cliquez sur Add Permission dans la colonne Actions.
Dans l'onglet Permissions, cliquez sur Add Permission.
-
Dans le panneau Add Permission, définissez les champs Resource et Permission selon vos besoins, puis cliquez sur OK.
Cette opération accorde à l'utilisateur l'accès aux ressources internes de StarRocks. Pour modifier les autorisations sur votre catalogue DLF, rendez-vous dans la console DLF.
Étape 4 : Vérifier le mappage de l'utilisateur (facultatif)
Le mappage entre l'utilisateur StarRocks et l'utilisateur RAM est effectif dans un délai de 10 à 20 secondes. Pour vérifier ce mappage :
Connectez-vous à StarRocks Manager avec le nouvel utilisateur StarRocks.
Dans SQL Editor, cliquez sur + File pour créer un script SQL.
-
Exécutez la commande suivante :
show property;Si l'ID de l'utilisateur RAM apparaît dans la sortie, le mappage est actif :

Création d'un catalogue
Toutes les tables créées dans un catalogue DLF via Iceberg REST sont des tables Apache Iceberg.
Connectez-vous à StarRocks Manager en tant qu'utilisateur RAM, puis exécutez l'instruction SQL suivante pour créer un catalogue externe pointant vers votre catalogue DLF.
Sur la page Queries, cliquez sur l'icône
pour créer une requête SQL.-
Saisissez l'instruction suivante et cliquez sur Run :
Paramètres de connexion
Paramètre
Obligatoire
Description
Exemple
typeOui
Type de catalogue StarRocks. Définissez la valeur sur
iceberg.iceberguriOui
URI du point de terminaison du catalogue REST DLF. Pour connaître les points de terminaison par région, consultez la rubrique Iceberg REST.
http://cn-hangzhou-vpc.dlf.aliyuncs.com/icebergiceberg.catalog.typeOui
Type d'implémentation du catalogue. Définissez la valeur sur
dlf_restpour DLF.dlf_restwarehouseOui
Nom du catalogue DLF.
iceberg_testParamètres d'authentification
Paramètre
Obligatoire
Description
Exemple
rest.signing-regionOui
ID de la région du service DLF. Pour connaître les ID de région, consultez la rubrique Point de terminaison du service.
cn-hangzhouCREATE EXTERNAL CATALOG iceberg_catalog PROPERTIES ( "type" = "iceberg", "uri" = "http://cn-hangzhou-vpc.dlf.aliyuncs.com/iceberg", "iceberg.catalog.type" = "dlf_rest", "warehouse" = "iceberg_test", "rest.signing-region" = "cn-hangzhou" ); -
Interrogez les tables Iceberg du catalogue :
SELECT * FROM catalog_name.database_name.table_name;