Tous les produits
Search
Centre de documentation

E-MapReduce:Gérer les catalogues de données

Dernière mise à jour :Oct 10, 2026

Un catalogue de données enregistre un service de métadonnées externe, tel que DLF, Hive Metastore (HMS), StarRocks ou Hologres, dans un espace de travail EMR Serverless Spark. Après l'enregistrement, vous pouvez consulter les bases de données, les tables et les colonnes dans la console, et accéder aux données par le nom du catalogue dans les requêtes SQL, les sessions interactives et les tâches Spark. Les catalogues de données sont utiles pour les scénarios nécessitant une isolation des métadonnées ou une analyse transversale entre plusieurs sources de données.

Présentation des catalogues

EMR Serverless Spark propose un système de gestion flexible des catalogues, prenant en charge divers types tels que Paimon, Iceberg et StarRocks. Outre le type standard de catalogue de données, le système prend également en charge un catalogue intégré et des catalogues personnalisés. Cette section décrit les types de catalogues disponibles dans EMR Serverless Spark, ainsi que leur configuration et leur utilisation.

Type de catalogue

Sources de données prises en charge

Méthode d'ajout

Description

Utilisation

Catalogue de données

Ajoutez manuellement un catalogue sur la page Catalog.

Après l'ajout d'un catalogue, redémarrez toutes les sessions en cours d'exécution pour que les modifications prennent effet.

  • Sur la page Development, sélectionnez le catalogue cible dans l'éditeur SQL.

  • Exécutez directement USE <catalogName>; dans l'éditeur SQL.

  • Exécutez directement SELECT * FROM <catalogName>.db.tbl; dans l'éditeur SQL.

Catalogue personnalisé

Paimon, Iceberg et autres

Modifiez une session et ajoutez les paramètres requis dans l'onglet Spark Configuration.

Ce type nécessite une configuration manuelle des paramètres et peut être étendu pour prendre en charge diverses sources de données. Pour plus d'informations, consultez Utiliser Iceberg et Guide d'utilisation de Paimon.

-- Switch to the custom catalog
USE <catalogName>;

-- Or reference the table directly
SELECT * FROM <catalogName>.db.tbl;

Ajouter un catalogue de données

  1. Accédez à la page Data Catalogs.

    1. Connectez-vous à la console EMR.

    2. Dans le volet de navigation de gauche, choisissez EMR Serverless > Spark.

    3. Sur la page Spark, cliquez sur le nom de l'espace de travail cible.

    4. Sur la page EMR Serverless Spark, cliquez sur Catalog dans le volet de navigation de gauche.

      Remarque

      La page Data Catalogs affiche les bases de données et les tables du catalogue de données Data Lake Formation que vous avez sélectionné lors de la création de l'espace de travail.

  2. Cliquez sur Add Catalog.

  3. Dans la boîte de dialogue Add Catalog, sélectionnez un type de catalogue, configurez les paramètres requis, puis cliquez sur Add. Les types de catalogues suivants sont pris en charge.

Catalogue de données DLF

Le DLF Catalog est un service permettant de gérer et d'interroger les métadonnées d'un lac de données. En sélectionnant un catalogue de données DLF existant ou en en créant un nouveau, vous pouvez accéder rapidement aux métadonnées de votre lac de données.

Pour créer un nouveau catalogue de données DLF, cliquez sur Create Catalog afin d'accéder à la console Data Lake Formation. Pour plus d'informations, consultez Gérer les métadonnées.

Remarque

Lorsque vous utilisez un catalogue de données DLF, seules les versions de moteur suivantes sont prises en charge : esr-4.3.0 ou ultérieure, esr-3.3.0 ou ultérieure, et esr-2.7.0 ou ultérieure.

Catalogue de données Hive Metastore (HMS)

Le service External Hive Metastore est un service de métadonnées indépendant, généralement utilisé pour gérer les métadonnées des tables Hive. Vous pouvez configurer ce service pour intégrer les métadonnées d'un Hive Metastore externe dans votre environnement actuel.

Assurez-vous qu'une connexion réseau existe entre EMR Serverless Spark et le VPC où se trouve le Hive Metastore externe.

Paramètre

Description

Network Connection

La connexion réseau vers le VPC où se trouve le Hive Metastore externe.

Sélectionnez une connexion réseau existante dans la liste déroulante. Pour plus d'informations, consultez Étape 1 : Ajouter une connexion réseau.

Remarque
  • Tous les catalogues de données ajoutés doivent partager la même connexion réseau. La connexion sélectionnée pour le premier catalogue est automatiquement utilisée pour tous les suivants.

  • Cette connexion réseau devient la valeur par défaut pour toutes les ressources de calcul lancées dans l'espace de travail et sert à tester la connectivité avec le catalogue de données.

  • Pour utiliser une connexion réseau différente pour un catalogue de données spécifique, spécifiez-la lors de la soumission d'une tâche ou de la création d'une session. Une connexion spécifiée manuellement est prioritaire.

Metastore service address

L'adresse du service du Hive Metastore externe, au format thrift://<metastore-host>:<port>.

Où :

  • <metastore-host> : le nom d'hôte ou l'adresse IP du service Hive Metastore.

  • <port> : le numéro de port du service Hive Metastore. La valeur par défaut est 9083.

Authentification Kerberos

Si l'authentification Kerberos est activée pour votre Hive Metastore externe, spécifiez le chemin du fichier keytab et le nom du principal.

  • Kerberos keytab file : le chemin d'accès au fichier keytab Kerberos.

  • Kerberos principal : le nom du principal dans le fichier keytab, utilisé pour s'authentifier auprès du service Kerberos.

    Remarque

    Vous pouvez utiliser la commande klist -kt <keytab_file> pour afficher le nom du principal dans le fichier keytab cible.

Pour ajouter un Hive Metastore externe, consultez Se connecter à un Hive Metastore externe.

Catalogue de données StarRocks

StarRocks est une base de données analytique haute performance. L'ajout d'un catalogue de données StarRocks enregistre les métadonnées d'une instance StarRocks dans EMR Serverless Spark. Une fois le catalogue ajouté, vous pouvez lire et écrire des données StarRocks directement depuis vos tâches et sessions sans configurer les paramètres de connexion pour chaque tâche. Assurez-vous qu'une connexion réseau existe entre EMR Serverless Spark et le VPC où se trouve l'instance StarRocks.

Après avoir ajouté le catalogue, vous pouvez utiliser un identifiant en trois parties dans SQL pour lire et écrire des données dans StarRocks. Par exemple : SELECT * FROM <catalogName>.<dbName>.<tableName>;

Remarque

Les catalogues de données StarRocks sont pris en charge uniquement sur les versions de moteur suivantes : esr-4.8.0 ou ultérieure et esr-5.2.0 ou ultérieure.

Paramètre

Description

Catalog Name

Le nom du catalogue de données StarRocks. Ce nom, qui doit être unique au sein de l'espace de travail, est utilisé pour référencer le catalogue dans les requêtes SQL.

Normal Network Connection

La connexion réseau vers le VPC où se trouve l'instance StarRocks. Sélectionnez une connexion réseau existante dans la liste déroulante. Pour plus d'informations, consultez Étape 1 : Ajouter une connexion réseau.

Remarque
  • Tous les catalogues de données ajoutés doivent partager la même connexion réseau. La connexion sélectionnée pour le premier catalogue est automatiquement utilisée pour tous les suivants.

  • Cette connexion réseau devient la valeur par défaut pour toutes les ressources de calcul lancées dans l'espace de travail et sert à tester la connectivité avec le catalogue de données.

  • Pour utiliser une connexion réseau différente pour un catalogue de données spécifique, spécifiez-la lors de la soumission d'une tâche ou de la création d'une session. Une connexion spécifiée manuellement est prioritaire.

Endpoint

L'adresse d'accès Frontend (FE) pour StarRocks, par exemple fe--internal.starrocks.aliyuncs.com.

Query Port

Le port de requête FE pour StarRocks. Il s'agit généralement du port 9030.

Username

Le nom d'utilisateur pour accéder à StarRocks. Les tâches Spark utilisent ce nom d'utilisateur pour l'authentification lors de la lecture ou de l'écriture des données StarRocks.

Password

Le mot de passe associé au nom d'utilisateur spécifié.

Pour savoir comment lire et écrire des données StarRocks dans vos tâches, consultez Lire et écrire des données StarRocks.

Catalogue de données Hologres

Hologres est un entrepôt de données en temps réel qui prend en charge les écritures en temps réel à haut débit et l'analyse en temps réel de données à grande échelle. L'ajout d'un catalogue de données Hologres enregistre les métadonnées d'une instance Hologres dans EMR Serverless Spark. Une fois le catalogue ajouté, vous pouvez lire et écrire des données Hologres directement depuis vos tâches et sessions sans configurer les paramètres de connexion pour chaque tâche. Assurez-vous qu'une connexion réseau existe entre EMR Serverless Spark et le VPC où se trouve l'instance Hologres.

Après avoir ajouté le catalogue, vous pouvez utiliser un identifiant en trois parties dans SQL pour lire et écrire des données dans Hologres. Chaque catalogue est strictement lié à une seule base de données Hologres, et l'accès inter-bases de données n'est pas pris en charge. Autrement dit, vous ne pouvez pas utiliser un seul catalogue pour accéder à plusieurs bases de données Hologres. La structure logique du catalogue est cohérente avec celle de Hologres :

Concept Spark

Concept Hologres

Description

Catalogue

Base de données

Par exemple, hologres_external_test_db correspond à la base de données test_db dans Hologres.

Espace de noms

Schema

Par exemple, public ou test_schema. L'espace de noms par défaut est public. Vous pouvez exécuter USE pour basculer vers un autre espace de noms.

Table

Table

Vous devez spécifier explicitement la table sous la forme namespace.table_name (par exemple, public.test), ou exécuter d'abord USE namespace puis référencer directement le nom de la table.

Remarque

Les catalogues de données Hologres sont pris en charge uniquement sur les versions de moteur suivantes : esr-4.9.0 ou ultérieure.

Paramètre

Description

Catalog Name

Le nom du catalogue de données Hologres. Ce nom, qui doit être unique au sein de l'espace de travail, est utilisé pour référencer le catalogue dans les requêtes SQL.

Normal Network Connection

La connexion réseau vers le VPC où se trouve l'instance Hologres. Sélectionnez une connexion réseau existante dans la liste déroulante. Pour plus d'informations, consultez Étape 1 : Ajouter une connexion réseau.

Remarque
  • Tous les catalogues de données ajoutés doivent partager la même connexion réseau. La connexion sélectionnée pour le premier catalogue est automatiquement utilisée pour tous les suivants.

  • Cette connexion réseau devient la valeur par défaut pour toutes les ressources de calcul lancées dans l'espace de travail et sert à tester la connectivité avec le catalogue de données.

  • Pour utiliser une connexion réseau différente pour un catalogue de données spécifique, spécifiez-la lors de la soumission d'une tâche ou de la création d'une session. Une connexion spécifiée manuellement est prioritaire.

Endpoint

L'adresse d'accès de l'instance Hologres. Vous pouvez la trouver sur la page des détails de l'instance dans la console Hologres.

Query Port

Le port de l'instance Hologres. Il s'agit généralement du port 80.

Username

Le nom d'utilisateur pour accéder à Hologres. Les tâches Spark utilisent ce nom d'utilisateur pour l'authentification lors de la lecture ou de l'écriture des données Hologres.

  • Pour un compte personnalisé, utilisez le nom d'utilisateur au format BASIC$<user_name>.

  • Pour un compte Alibaba Cloud ou un utilisateur RAM, utilisez l'AccessKey ID.

Password

Le mot de passe associé au nom d'utilisateur spécifié.

  • Pour un compte personnalisé, utilisez le mot de passe du compte.

  • Pour un compte Alibaba Cloud ou un utilisateur RAM, utilisez l'AccessKey Secret.

Pour savoir comment lire et écrire des données Hologres dans vos tâches, consultez Lire et écrire des données Hologres.

Catalogue de données Fluss

Fluss est un système de stockage de flux columnaires haute performance qui prend en charge les lectures et écritures en streaming inférieures à la seconde pour l'analyse en temps réel et l'IA. Après avoir ajouté un catalogue de données Fluss, vos tâches EMR Serverless Spark peuvent accéder aux données du cluster Fluss sans authentification, sans avoir besoin de configurer les informations de connexion pour chaque tâche et session.

Remarque
  • Seuls les clusters Fluss prenant en charge l'authentification sans mot de passe peuvent être ajoutés.

  • Les catalogues de données Fluss sont pris en charge uniquement sur la version esr-4.10.0 ou ultérieure. Pour utiliser des catalogues de données Fluss sur d'autres versions, soumettez un ticket.

Paramètre

Description

Cluster Fluss

Le cluster Fluss à associer.

Catalog Name

Le nom du catalogue de données Fluss, utilisé pour référencer le catalogue dans les tâches. Le nom doit être unique au sein de l'espace de travail.

Normal Network Connection

La connexion réseau entre l'environnement actuel et le VPC où se trouve le cluster Fluss. Sélectionnez une connexion réseau existante dans la liste déroulante. Pour plus d'informations, consultez Étape 1 : Créer une connexion réseau.

Remarque
  • Tous les catalogues de données d'un espace de travail doivent utiliser la même connexion réseau. La connexion utilisée par le premier catalogue de données ajouté s'applique à tous les catalogues suivants.

  • Cette connexion réseau est utilisée comme réseau par défaut pour toutes les ressources de calcul démarrées dans l'espace de travail et sert aux tests de connectivité du catalogue de données.

  • Pour accéder à un catalogue de données via une connexion réseau différente, spécifiez la connexion réseau lors de la soumission d'une tâche ou de la création d'une session. Les connexions réseau spécifiées manuellement sont prioritaires sur la connexion réseau par défaut.

Consulter les bases de données et les tables

  1. Sur la page Catalog, cliquez sur l'ID d'un catalogue de données.

    Toutes les bases de données du catalogue de données s'affichent.

  2. Dans la colonne Actions, cliquez sur Table.

    Toutes les tables de la base de données sélectionnée s'affichent.

  3. Dans la colonne Actions, cliquez sur Field.

    Le schéma et les détails des colonnes de la table sélectionnée s'affichent.

Utiliser un catalogue de données dans SQL

Après avoir ajouté un catalogue de données, vous pouvez accéder à ses bases de données et tables par le nom du catalogue dans le développement SQL et les sessions interactives, sans spécifier les informations de connexion dans chaque tâche.

Basculer le catalogue et la base de données par défaut

Après le basculement, les instructions suivantes peuvent référencer les tables par leur nom au lieu d'utiliser un identifiant complet en trois parties.

-- Switch the default catalog
USE <catalogName>;

-- Switch the default catalog and database
USE <catalogName>.<dbName>;

Interroger à l'aide d'un identifiant en trois parties

Si vous ne basculez pas le catalogue par défaut, référencez directement la table sous la forme catalogName.dbName.tableName.

SELECT * FROM <catalogName>.<dbName>.<tableName>;

Pour un catalogue de données Hologres, la deuxième partie de l'identifiant est un schéma plutôt qu'une base de données. Chaque catalogue de données Hologres est lié à une seule base de données, et le schéma par défaut est public.

-- Hologres: the second part is a schema. The default schema is public.
SELECT * FROM <hologresCatalog>.public.<tableName>;

-- You can also switch the catalog and schema first, and then reference the table by name.
USE <hologresCatalog>;
USE public;
SELECT * FROM <tableName>;

Joindre des données entre catalogues

Une seule instruction peut référencer des tables provenant de différents catalogues de données en utilisant des identifiants en trois parties. L'exemple suivant joint une table de dimension utilisateur dans DLF avec une table de commandes dans Hologres.

SELECT
  d.user_id,
  d.user_name,
  o.order_id,
  o.amount
FROM dlf_catalog.user_db.dim_user AS d
JOIN hologres_catalog.public.orders AS o
  ON d.user_id = o.user_id;

Avant d'exécuter l'instruction, assurez-vous que tous les catalogues de données référencés sont ajoutés, que les réseaux sont accessibles et que votre identité dispose des autorisations nécessaires sur les bases de données et tables correspondantes.

Utiliser un catalogue de données dans PySpark

Dans PySpark, utilisez des identifiants en trois parties pour lire et écrire des tables dans un catalogue de données.

# Read a table
df = spark.table("<catalogName>.<dbName>.<tableName>")

# Write to a table
(
    df.write
      .mode("append")
      .saveAsTable("<catalogName>.<dbName>.<tableName>")
)

Vous pouvez également lire des tables provenant de différents catalogues de données, puis les joindre.

dim_user = spark.table("dlf_catalog.user_db.dim_user")
orders = spark.table("hologres_catalog.public.orders")

result = orders.join(dim_user, on="user_id", how="inner")
result.show()

Avant d'écrire des données, assurez-vous que la source de données cible prend en charge le mode d'écriture et que votre compte dispose des autorisations d'écriture.

Supprimer un catalogue de données

  1. Sur la page Catalog, localisez le catalogue de données que vous souhaitez supprimer.

  2. Cliquez sur Delete dans la colonne Actions et confirmez l'opération comme indiqué.

Remarque

La suppression d'un catalogue de données retire uniquement son enregistrement de l'espace de travail actuel. Les bases de données, tables et données dans DLF, HMS, StarRocks ou Hologres ne sont pas supprimées.

Après la suppression, les sessions en cours d'exécution peuvent encore utiliser la configuration précédente. Redémarrez les sessions et vérifiez que le catalogue n'est plus accessible.

FAQ

Un catalogue est signalé comme introuvable dans SQL après son ajout

Les sessions interactives en cours d'exécution ne rechargent pas automatiquement les configurations des catalogues de données. Redémarrez la session et vérifiez que le nom du catalogue dans votre requête SQL correspond au nom affiché sur la page du catalogue de données. Les sessions et tâches démarrées ultérieurement chargent la dernière configuration au démarrage.

L'ajout d'un catalogue de données ou le test de connectivité échoue

Vérifiez les éléments suivants dans l'ordre :

  1. La connexion réseau est disponible.

  2. L'espace de travail et le service cible résident dans la même région et dans le VPC attendu.

  3. Les routes, les groupes de sécurité et la liste d'autorisation du service cible autorisent l'accès.

  4. L'endpoint et le port sont corrects.

  5. Le nom d'utilisateur, le mot de passe et la méthode d'authentification sont corrects.

  6. La version actuelle du moteur répond aux exigences du type de catalogue.

La liste DLF ne contient pas le catalogue de données attendu

Les catalogues de données DLF sont spécifiques à une région. Assurez-vous que le catalogue de données réside dans la même région que l'espace de travail, et vérifiez si votre compte dispose des autorisations de lecture sur le catalogue de données.

La connexion HMS expire

Vérifiez la connexion réseau, les règles de groupe de sécurité, l'état du service HMS et le port Thrift. Le port par défaut est 9083, mais le port réel dépend de votre déploiement. Si l'adresse ne peut pas être résolue, vérifiez la configuration DNS du VPC dans lequel réside l'espace de travail, ou utilisez une adresse interne accessible.

Une requête Hologres signale que la table n'existe pas

Un catalogue de données Hologres est lié à une seule base de données, et une requête doit également spécifier le schéma correct. Utilisez catalogName.schemaName.tableName, ou exécutez d'abord USE <schemaName>. Le schéma par défaut est généralement public.

Puis-je ajouter plusieurs catalogues de données à un seul espace de travail ?

Oui. Vous pouvez ajouter plusieurs catalogues de données du même type ou de types différents. Chaque catalogue est enregistré indépendamment, mais les noms doivent être uniques au sein d'un espace de travail. Pour accéder à plusieurs bases de données Hologres, ajoutez un catalogue de données pour chaque base de données.

La suppression d'un catalogue de données supprime-t-elle les données métier ?

Non. La suppression retire uniquement l'enregistrement de l'espace de travail. Les bases de données, tables et données du service externe ne sont pas affectées.

Pourquoi MaxCompute et Iceberg ne figurent-ils pas dans les types de catalogues ?

MaxCompute est accessible via le connecteur Spark MaxCompute et n'est pas enregistré sur la page des catalogues de données. Iceberg est un catalogue personnalisé que vous activez dans la configuration Spark d'une session ou d'une tâche. Pour plus d'informations, consultez Utiliser Iceberg.

Un catalogue de données DLF utilise le format Paimon par défaut. Vous n'avez pas besoin d'ajouter un catalogue Paimon distinct. Pour plus d'informations sur Paimon, consultez Guide d'utilisation de Paimon.