Dans Hologres, configurez un serveur externe pour spécifier les informations de connexion d'une source de données externe, telle qu'un compartiment Object Storage Service (OSS). Créez ensuite une table externe pour accéder aux données et les interroger entre différents systèmes. Cette rubrique explique comment utiliser l'outil de visualisation HoloWeb pour créer un serveur externe, gérer les tables externes et prévisualiser les données.
Prérequis
Un compartiment OSS est créé et des données y sont importées. Pour plus d'informations, consultez la section Prise en main d'OSS.
Un catalogue Data Lake Formation (DLF) est créé. Pour plus d'informations, consultez la section Catalogue de données.
Votre compte dispose de l'autorisation USAGE sur le wrapper de données étrangères (FDW) utilisé. Pour plus d'informations, consultez la section Autorisation des autorisations.
Une base de données et une table existent déjà dans le catalogue DLF du serveur externe. Pour savoir comment créer une base de données et une table, consultez la section Tables et fonctions de base de données.
Limites
La source de données externe et la table externe Hologres mappée doivent se trouver dans la même région.
Créer un serveur externe
Dans Hologres, un serveur externe définit les informations de connexion qu'un FDW utilise pour accéder à des sources de données externes, telles qu'un compartiment OSS, afin d'accéder aux données et de les interroger entre différents systèmes. Vous pouvez également créer des mappings d'utilisateurs pour définir des informations de connexion spécifiques à chaque utilisateur. Pour plus d'informations, consultez la section Créer un serveur externe.
Connectez-vous à la console Hologres.
Dans la barre de navigation supérieure, sélectionnez une région dans la liste déroulante.
Dans le volet de navigation de gauche, cliquez sur Instances. Dans la colonne Actions de l'instance cible, cliquez sur Lake Acceleration pour activer cette fonctionnalité.
Cliquez sur Go to HoloWeb pour ouvrir la page de développement HoloWeb.
Une fois connecté à la base de données cible, cliquez sur Metadata Management dans la barre de navigation supérieure.
-
Sur la page Metadata Management, accédez à .
Le paramètre Server Name doit commencer par une lettre ou un trait de soulignement (_), contenir uniquement des lettres, des chiffres et des traits de soulignement, et comporter entre 1 et 63 caractères.
Le tableau suivant décrit les paramètres.
Parameter
Description
Server Name
Nom du serveur externe à créer.
ImportantLe nom du serveur externe doit être unique dans la base de données.
DLF EndPoint
Endpoint de DLF. Par défaut, l'endpoint de DLF dans la région actuelle est utilisé. Pour plus d'informations sur les régions et endpoints pris en charge par DLF, consultez la section Régions et endpoints pris en charge.
DLF Catalog
Sélectionnez un catalogue DLF existant dans la liste déroulante. Si la liste est vide, cliquez sur Create in DLF Console pour en créer un.
OSS EndPoint
L'endpoint OSS natif de la région actuelle est utilisé par défaut. Vous pouvez sélectionner un endpoint OSS-HDFS dans la liste déroulante. Si vous ne disposez pas de compartiment OSS, cliquez sur Create in OSS Console.
RemarqueVous pouvez obtenir l'endpoint OSS à partir de la section Régions et endpoints.
-
Vous pouvez trouver l'endpoint OSS-HDFS sur la page Overview d'un compartiment activé pour OSS-HDFS dans la console OSS.
Cliquez sur Submit pour créer le serveur externe.
Créer une table externe
Connectez-vous à la console Hologres.
Dans la barre de navigation supérieure, sélectionnez une région dans la liste déroulante.
Cliquez sur Go to HoloWeb pour ouvrir la page de développement HoloWeb.
Dans la barre de navigation supérieure de HoloWeb, cliquez sur Metadata Management.
-
Sur la page Metadata Management, accédez à .
Spécifiez Entire Project, Selected Tables ou Single Table comme méthode d'accélération. Les tableaux suivants décrivent les paramètres associés à chaque méthode d'accélération.
Entire Project
Category
Parameter
Description
Acceleration Method
Entire Project
Méthode qui crée des tables externes Hologres pour toutes les tables source de la base de données spécifiée dans DLF.
DLF Data Source
Server Name
Nom du serveur externe créé. Ce paramètre permet de spécifier les informations de connexion de la source de données externe.
DB Name
Nom de la base de données dans le catalogue DLF spécifié dans le serveur externe.
Destination Location
Holo Schema
La valeur par défaut est public. Vous pouvez sélectionner un autre schéma sur lequel vous disposez d'autorisations dans la liste déroulante.
Advanced Settings
Processing Rule for Table Name Conflicts
Règle de traitement appliquée si une table externe à créer porte le même nom qu'une table externe existante dans la base de données. Valeurs valides :
Ignore Conflicts and Continue Creating Tables : Le système ignore la création de cette table et poursuit la création des autres tables.
Change Table Names : Le système met à jour les données de la table externe existante.
Report Error and Create No Table : Le système affiche un message d'erreur et arrête la création des tables.
Processing Rule for Unsupported Data Types
Règle de traitement appliquée si certains types de données des tables source ne sont pas pris en charge par Hologres. Valeurs valides :
Report Error and Stop Import : Le système affiche un message d'erreur et l'importation des données échoue.
-
Ignore and Skip Table of Unsupported Fields : Ignore les tables contenant des champs non pris en charge et poursuit l'importation.
Selected Tables
Category
Parameter
Description
Acceleration Method
Selected Tables
Méthode qui crée des tables externes Hologres pour les tables source spécifiées. Vous pouvez rechercher les tables en saisissant un nom de table dans la zone de recherche pour effectuer une correspondance floue.
DLF Data Source
Server Name
Nom du serveur externe créé. Ce paramètre permet de spécifier les informations de connexion de la source de données externe.
DB Name
Nom de la base de données dans le catalogue DLF spécifié dans le serveur externe.
Destination Location
Holo Schema
La valeur par défaut est public. Vous pouvez sélectionner un autre schéma sur lequel vous disposez d'autorisations dans la liste déroulante.
Advanced Settings
Processing Rule for Table Name Conflicts
Règle de traitement appliquée si une table externe à créer porte le même nom qu'une table externe existante dans la base de données. Valeurs valides :
Ignore Conflicts and Continue Creating Tables : Le système ignore la création de cette table et poursuit la création des autres tables.
Change Table Names : Le système met à jour les données de la table externe existante.
Report Error and Create No Table : Le système affiche un message d'erreur et arrête la création des tables.
Processing Rule for Unsupported Data Types
Règle de traitement appliquée si certains types de données des tables source ne sont pas pris en charge par Hologres. Valeurs valides :
Report Error and Stop Import : Le système affiche un message d'erreur et l'importation des données échoue.
-
Ignore and Skip Table of Unsupported Fields : Ignore les tables contenant des champs non pris en charge et poursuit l'importation.
Search
Effectue une correspondance floue pour rechercher des tables par nom de table, puis sélectionne les tables.
Single Table
Category
Parameter
Description
Acceleration Method
Single Table
Méthode qui crée une table externe Hologres pour une table source spécifiée.
DLF Data Source
Server Name
Nom du serveur externe créé. Ce paramètre permet de spécifier les informations de connexion de la source de données externe.
DB Name
Nom de la base de données dans le catalogue DLF spécifié dans le serveur externe.
Table Name
Nom de la table dans la base de données DLF pour laquelle vous souhaitez créer une table externe.
Destination Hologres Table
Schema
La valeur par défaut est public. Vous pouvez sélectionner un autre schéma sur lequel vous disposez d'autorisations dans la liste déroulante.
Table Name
Nom de la table externe Hologres à créer.
RemarqueAprès avoir spécifié le paramètre Table Name dans la section DLF Data Source, la même valeur est automatiquement saisie pour ce paramètre. Vous pouvez renommer la table externe Hologres.
Destination Table Description
Description de la table externe Hologres à créer. Vous pouvez saisir une description personnalisée.
Cliquez sur Submit. Actualisez ensuite le volet de navigation de gauche pour afficher la nouvelle table externe sous le schéma correspondant.
-
(Facultatif) Double-cliquez sur la table externe créée et cliquez sur Query Table pour ouvrir l'éditeur SQL. Vous pouvez ensuite interroger les données à l'aide de la syntaxe PostgreSQL standard.
RemarqueAprès avoir spécifié le paramètre Table Name dans la section DLF Data Source, tous les champs de la table source externe s'affichent. Lorsque vous créez une table externe pour la table source externe, tous les champs sont inclus dans la table externe par défaut. Si vous souhaitez inclure des champs spécifiques dans la table externe, définissez la méthode d'accélération sur Single Table ou exécutez des instructions SQL pour créer une table externe. Pour plus d'informations sur la création de tables externes en exécutant des instructions SQL, consultez la section CREATE FOREIGN TABLE.
Autres opérations sur les serveurs externes à l'aide d'instructions SQL
Une fois un serveur externe créé, exécutez des instructions SQL pour afficher, modifier ou supprimer le serveur externe.
-
Affichez un serveur externe créé.
SELECT * FROM pg_foreign_server; -
Modifiez le catalogue DLF d'un serveur externe.
ALTER SERVER <foreignserver_name> OPTIONS (ADD|SET|DROP dlf_catalog ['<catalog_name>']) ;Le tableau suivant décrit les paramètres.
Parameter
Description
foreignserver_name
Nom du serveur externe à modifier.
ADD
Opération permettant d'ajouter un catalogue DLF au serveur externe.
SET
Opération permettant de modifier le catalogue DLF du serveur externe.
DROP
Opération permettant de supprimer le catalogue DLF du serveur externe. Exemple :
ALTER SERVER foreign_server_test OPTIONS (DROP dlf_catalog) ;. -
Supprimez un serveur externe.
DROP SERVER <foreignserver_name> CASCADE;Le tableau suivant décrit les paramètres.
Parameter
Description
foreignserver_name
Nom du serveur externe à supprimer.
CASCADE
Opération en cascade permettant de supprimer les objets qui dépendent du serveur externe lorsque vous supprimez ce dernier. Par exemple, les tables externes qui dépendent du serveur externe sont supprimées.
Autres opérations sur les tables externes
Modifier une table externe
Dans le volet de navigation de gauche de HoloWeb, développez la liste Instances Connected.
Accédez à votre instance cible > base de données cible > schéma cible, puis cliquez sur Foreign Tables pour afficher toutes les tables externes créées.
Double-cliquez sur la table externe cible et cliquez sur Edit Table sur la page de détails.
Modifiez les Fields ou les Partitions mappés depuis la table source externe.
Cliquez sur Submit pour enregistrer vos modifications.
Renommer une table externe
Pour trouver la table externe cible dans la liste Instances Connected du volet de navigation de gauche de la page HoloWeb, suivez les étapes 1 et 2 de la section Modifier une table externe.
Cliquez avec le bouton droit sur la table externe cible et sélectionnez Rename.
Dans la boîte de dialogue Modify Table Name, saisissez un nouveau nom.
Cliquez sur OK.
Supprimer une table externe
Dans le volet de navigation de gauche de la page HoloWeb, trouvez la table externe cible dans la liste Instances Connected. Pour trouver la table, suivez les étapes 1 et 2 de la section Modifier une table externe.
Cliquez avec le bouton droit sur la table externe cible et sélectionnez Delete Table.
Dans la boîte de dialogue Delete Table, cliquez sur OK.
Prévisualiser les données
Dans la liste Instances Connected du volet de navigation de gauche de la page HoloWeb, trouvez la table externe cible en suivant les étapes 1 et 2 de la section Modifier une table externe.
Double-cliquez sur la table externe cible. Sur la page de détails qui s'affiche, cliquez sur l'onglet Data Preview.
FAQ
-
Description du problème : Le message d'erreur suivant s'affiche lorsqu'un utilisateur RAM tente d'accéder à une table externe dans HoloWeb. Le message d'erreur indique que l'utilisateur RAM ne dispose pas des autorisations nécessaires pour appeler les API DLF. Le message d'erreur contient les informations suivantes :
You are not authorized to perform the operation. Please use RAM to authorize the operation.Action: [dlf:xxx]. Solution : Accordez à l'utilisateur RAM les autorisations AliyunDLF requises pour les opérations API dans la console RAM .
Références
Vous pouvez également utiliser des instructions SQL pour créer des serveurs externes. Pour plus d'informations, consultez la section Créer un serveur externe.
Vous pouvez également utiliser des instructions SQL pour créer des tables externes. Pour plus d'informations, consultez la section Créer une table externe dans une instance Hologres.
-
Pour plus d'informations sur les instructions DDL relatives aux tables externes, consultez les rubriques suivantes :