Tous les produits
Search
Centre de documentation

ApsaraDB for SelectDB:Traitement des données Lakehouse

Dernière mise à jour :Aug 11, 2026

ApsaraDB for SelectDB prend en charge les requêtes fédérées sur des sources de données externes, notamment les data lakes, les bases de données et les fichiers distants.

Présentation

ApsaraDB for SelectDB offre une fonctionnalité de catalogue de données multi-sources (aussi appelée Multi-Catalog ou Catalog). Elle permet de se connecter à des sources de données externes telles que des data lakes et des bases de données pour analyser les données simplement et rapidement. Cette fonctionnalité ajoute une couche Catalog au-dessus de la hiérarchie de métadonnées d'origine, formant ainsi une structure de métadonnées à trois niveaux : Catalog -> Database -> Table. Chaque Catalog peut être directement associé à une source de données externe. Pour plus d'informations sur les sources de données externes prises en charge, consultez Analyse des data lakes et Analyse des bases de données.

ApsaraDB for SelectDB fournit également des fonctions à valeur de table (TVF). Celles-ci transforment les données de fichiers provenant de systèmes de stockage distants comme Amazon S3 et HDFS en tables interrogeables, simplifiant ainsi l'analyse basée sur des fichiers. Pour plus d'informations, consultez Analyse des fichiers.

Grâce aux Catalogs, ApsaraDB for SelectDB intègre et interroge des sources de données externes conjointement avec les données internes, ce qui permet des analyses flexibles entre les entrepôts de données et les systèmes de stockage.

Remarque

Si une source de données externe est déployée sur Internet, le Virtual Private Cloud (VPC) de votre instance ApsaraDB for SelectDB doit disposer d'un accès sortant vers Internet. Pour obtenir des instructions de configuration, consultez Comment résoudre les problèmes de connectivité réseau entre une instance ApsaraDB for SelectDB et une source de données ?.

Concepts et opérations de base

  • Internal Catalog

    Toutes les bases de données et tables existantes dans ApsaraDB for SelectDB appartiennent à l'Internal Catalog. Il s'agit du catalogue par défaut intégré, qui ne peut être ni modifié ni supprimé.

  • External Catalog

    Créez un External Catalog à l'aide de la commande CREATE CATALOG. Consultez ensuite tous les Catalogs avec SHOW CATALOGS ou affichez l'instruction de création d'un Catalog spécifique avec SHOW CREATE CATALOG <catalog_name>;.

  • Changer de Catalog

    Après la connexion à ApsaraDB for SelectDB, l'Internal Catalog est actif par défaut. Utilisez la commande SWITCH pour basculer entre les Catalogs :

    SWITCH internal;
    SWITCH hive_catalog;

    Une fois le changement effectué, utilisez SHOW DATABASES et USE <db_name> pour parcourir et sélectionner des bases de données dans le Catalog cible. La consultation et l'accès aux données d'un External Catalog s'effectuent de la même manière que pour l'Internal Catalog. Actuellement, ApsaraDB for SelectDB prend uniquement en charge l'accès en lecture seule aux External Catalogs.

  • Supprimer un Catalog

    Les données d'un External Catalog sont en lecture seule, mais vous pouvez supprimer le Catalog lui-même avec la commande DROP CATALOG <catalog_name>;. L'Internal Catalog ne peut pas être supprimé.

    Remarque

    Cette opération retire uniquement les informations de mappage du Catalog dans ApsaraDB for SelectDB. Elle ne modifie pas la source de données externe elle-même.

Mappage des types de colonnes

Lors de la création d'un Catalog, ApsaraDB for SelectDB synchronise automatiquement les bases de données et les tables de la source de données externe, puis mappe les types de colonnes selon la source de données et le format de la table.

Les types de données externes non mappables, tels que UNION et INTERVAL, reçoivent le type UNSUPPORTED. L'exemple suivant illustre le comportement lors de l'interrogation d'une colonne UNSUPPORTED :

-- Schema of the synchronized table:
k1 INT,
k2 INT,
k3 UNSUPPORTED,
k4 INT

-- Query results:
SELECT * FROM testtable;                // Error: Unsupported type 'UNSUPPORTED_TYPE' in '`k3`
SELECT * except(k3) FROM testtable;     // Query OK.
SELECT k1, k3 FROM testtable;           // Error: Unsupported type 'UNSUPPORTED_TYPE' in '`k3`
SELECT k1, k4 FROM testtable;           // Query OK.

Exécutez SHOW DATA TYPES; pour afficher les types de données pris en charge par ApsaraDB for SelectDB. Pour connaître les types de données compatibles avec des sources externes spécifiques, consultez Analyse des data lakes et Analyse des bases de données.

Gestion des autorisations

ApsaraDB for SelectDB utilise son système de gestion des autorisations intégré, étendu au niveau du Catalog, afin de contrôler l'accès aux bases de données et aux tables des External Catalogs. Pour plus d'informations, consultez Gestion des autorisations utilisateur.

Spécifier des bases de données

Utilisez les propriétés include_database_list et exclude_database_list dans la configuration du Catalog pour contrôler les bases de données à synchroniser.

  • include_database_list : liste de bases de données à synchroniser, séparées par des virgules. Les noms de bases de données respectent la casse. Par défaut, toutes les bases de données sont synchronisées.

  • exclude_database_list : liste de bases de données à exclure de la synchronisation, séparées par des virgules. Les noms de bases de données respectent la casse. Cette liste est vide par défaut, ce qui signifie qu'aucune base de données n'est exclue.

Important
  • Si une base de données figure à la fois dans include_database_list et exclude_database_list, c'est exclude_database_list qui prévaut.

  • Pour une connexion à une source Java Database Connectivity (JDBC), ces deux propriétés doivent impérativement être utilisées conjointement avec le paramètre only_specified_database. Pour plus d'informations, consultez Source de données JDBC.

Mise à jour des métadonnées

Les modifications de métadonnées dans une source de données externe, telles que la création ou la suppression de tables, ou encore l'ajout ou le retrait de colonnes, ne sont pas automatiquement synchronisées vers ApsaraDB for SelectDB. Vous pouvez actualiser les métadonnées de plusieurs façons.

Actualisation manuelle

Utilisez la commande REFRESH pour actualiser manuellement les métadonnées.

Syntaxe

REFRESH CATALOG catalog_name;
REFRESH DATABASE [catalog_name.]database_name;
REFRESH TABLE [catalog_name.][database_name.]table_name;

L'actualisation d'un Catalog invalide également les caches associés, y compris les caches de partitions, de schémas et de fichiers.

Exemples

  1. Actualiser un Catalog. Exemple :

    REFRESH CATALOG hive;
  2. Actualiser une base de données. Exemples :

    REFRESH DATABASE ctl.database1;
    REFRESH DATABASE database1;
  3. Actualiser une table. Exemples :

    REFRESH TABLE ctl.db.table1;
    REFRESH TABLE db.table1;
    REFRESH TABLE table1;

Actualisation planifiée

Activez l'actualisation planifiée en définissant le paramètre metadata_refresh_interval_sec lors de la création d'un Catalog. Le nœud Frontend (FE) maître actualise alors périodiquement le Catalog selon l'intervalle spécifié. Actuellement, seuls trois types de sources de données prennent en charge l'actualisation planifiée :

  • HMS : Hive Metastore.

  • ES : Elasticsearch

  • JDBC : Java Database Connectivity

-- Set the catalog refresh interval to 20 seconds
CREATE CATALOG es PROPERTIES (
    "type"="es",
    "hosts"="http://127.0.0.1:9200",
    "metadata_refresh_interval_sec"="20"
);

Actualisation automatique

Actuellement, seuls certains événements provenant d'une source de données Hive déclenchent une actualisation automatique du Catalog. Pour plus d'informations, consultez Source de données Hive.