En Hologres, puede configurar un servidor externo para especificar la información de conexión de un origen de datos externo, como un bucket de Object Storage Service (OSS). Posteriormente, puede crear una tabla externa para acceder a los datos y consultarlos entre sistemas. Este tema describe cómo utilizar la herramienta de visualización HoloWeb para crear un servidor externo, gestionar tablas externas y previsualizar datos.
Requisitos previos
Se ha creado un bucket de OSS y se han importado datos al mismo. Para obtener más información, consulte Get started with OSS.
Se ha creado un catálogo de Data Lake Formation (DLF). Para obtener más información, consulte Data catalog.
Su cuenta tiene concedido el permiso USAGE sobre el contenedor de datos externos (FDW) que utiliza. Para obtener más información, consulte Permission authorization.
Ya existen una base de datos y una tabla en el catálogo DLF del servidor externo. Para obtener más información sobre cómo crear una base de datos y una tabla, consulte Database tables and functions.
Límites
El origen de datos externo y la tabla externa de Hologres asignada deben residir en la misma región.
Creación de un servidor externo
En Hologres, un servidor externo se utiliza para definir la información de conexión que emplea un FDW para acceder a orígenes de datos externos, como un bucket de OSS, con el fin de realizar consultas y accesos a datos entre sistemas. También puede crear user mappings para definir información de conexión específica por usuario. Para obtener más información, consulte Create a foreign server.
Inicie sesión en la consola de Hologres.
En la barra de navegación superior, seleccione una región en la lista desplegable.
En el panel de navegación izquierdo, haga clic en Instances. En la columna Actions de la instancia deseada, haga clic en Lake Acceleration para habilitar esta función.
Haga clic en Go to HoloWeb para abrir la página de desarrollo de HoloWeb.
Una vez que inicie sesión en la base de datos destino, haga clic en Metadata Management en la barra de navegación superior.
-
En la página Metadata Management, vaya a .
El Server Name debe comenzar con una letra o un guion bajo (_), contener únicamente letras, dígitos y guiones bajos, y tener una longitud de 1 a 63 caracteres.
La siguiente tabla describe los parámetros.
Parámetro
Descripción
Server Name
El nombre del servidor externo que desea crear.
ImportanteEl nombre del servidor externo debe ser único dentro de la base de datos.
DLF EndPoint
El endpoint de DLF. De forma predeterminada, se utiliza el endpoint de DLF de la región actual. Para obtener más información sobre las regiones y endpoints compatibles con DLF, consulte Supported regions and endpoints.
DLF Catalog
Seleccione un catálogo DLF existente en la lista desplegable. Si la lista está vacía, haga clic en Create in DLF Console para crear uno.
OSS EndPoint
De forma predeterminada, se utiliza el endpoint nativo de OSS en la región actual. Puede seleccionar un endpoint de OSS-HDFS en la lista desplegable. Si no dispone de un bucket de OSS, haga clic en Create in OSS Console.
NotaPuede obtener el endpoint de OSS en Regions and endpoints.
-
El endpoint de OSS-HDFS se encuentra en la página Overview de un bucket con OSS-HDFS habilitado dentro de la consola de OSS.
Haga clic en Submit para crear el servidor externo.
Creación de una tabla externa
Inicie sesión en la consola de Hologres.
En la barra de navegación superior, seleccione una región en la lista desplegable.
Haga clic en Go to HoloWeb para abrir la página de desarrollo de HoloWeb.
En la barra de navegación superior de HoloWeb, haga clic en Metadata Management.
-
En la página Metadata Management, vaya a .
Puede especificar Entire Project, Selected Tables o Single Table como método de aceleración. Las siguientes tablas describen los parámetros relacionados con cada método de aceleración.
Entire Project
Categoría
Parámetro
Descripción
Acceleration Method
Entire Project
Método que crea tablas externas de Hologres para todas las tablas de origen en la base de datos especificada dentro de DLF.
DLF Data Source
Server Name
El nombre del servidor externo que creó. Este parámetro se utiliza para especificar la información de conexión del origen de datos externo.
DB Name
El nombre de la base de datos en el catálogo DLF especificado en el servidor externo.
Destination Location
Holo Schema
El valor predeterminado es public. Puede seleccionar otro esquema sobre el que tenga permisos en la lista desplegable.
Advanced Settings
Processing Rule for Table Name Conflicts
Regla de procesamiento que se aplica si una tabla externa que desea crear tiene el mismo nombre que una tabla externa existente en la base de datos. Valores válidos:
Ignore Conflicts and Continue Creating Tables: El sistema omite la creación de esta tabla y continúa creando las demás.
Change Table Names: El sistema actualiza los datos en la tabla externa existente.
Report Error and Create No Table: El sistema muestra un mensaje de error y detiene la creación de tablas.
Processing Rule for Unsupported Data Types
Regla de procesamiento que se aplica si ciertos tipos de datos en las tablas de origen no son compatibles con Hologres. Valores válidos:
Report Error and Stop Import: El sistema muestra un mensaje de error y la importación de datos falla.
-
Ignore and Skip Table of Unsupported Fields: Omite las tablas con campos no compatibles y continúa con la importación.
Selected Tables
Categoría
Parámetro
Descripción
Acceleration Method
Selected Tables
Método que crea tablas externas de Hologres para tablas de origen específicas. Puede buscar las tablas introduciendo un nombre en el cuadro de búsqueda para realizar una coincidencia aproximada.
DLF Data Source
Server Name
El nombre del servidor externo que creó. Este parámetro se utiliza para especificar la información de conexión del origen de datos externo.
DB Name
El nombre de la base de datos en el catálogo DLF especificado en el servidor externo.
Destination Location
Holo Schema
El valor predeterminado es public. Puede seleccionar otro esquema sobre el que tenga permisos en la lista desplegable.
Advanced Settings
Processing Rule for Table Name Conflicts
Regla de procesamiento que se aplica si una tabla externa que desea crear tiene el mismo nombre que una tabla externa existente en la base de datos. Valores válidos:
Ignore Conflicts and Continue Creating Tables: El sistema omite la creación de esta tabla y continúa creando las demás.
Change Table Names: El sistema actualiza los datos en la tabla externa existente.
Report Error and Create No Table: El sistema muestra un mensaje de error y detiene la creación de tablas.
Processing Rule for Unsupported Data Types
Regla de procesamiento que se aplica si ciertos tipos de datos en las tablas de origen no son compatibles con Hologres. Valores válidos:
Report Error and Stop Import: El sistema muestra un mensaje de error y la importación de datos falla.
-
Ignore and Skip Table of Unsupported Fields: Omite las tablas con campos no compatibles y continúa con la importación.
Search
Realiza una coincidencia aproximada para buscar tablas por nombre y luego seleccionarlas.
Single Table
Categoría
Parámetro
Descripción
Acceleration Method
Single Table
Método que crea una tabla externa de Hologres para una tabla de origen específica.
DLF Data Source
Server Name
El nombre del servidor externo que creó. Este parámetro se utiliza para especificar la información de conexión del origen de datos externo.
DB Name
El nombre de la base de datos en el catálogo DLF especificado en el servidor externo.
Table Name
El nombre de la tabla en la base de datos DLF para la cual desea crear una tabla externa.
Destination Hologres Table
Schema
El valor predeterminado es public. Puede seleccionar otro esquema sobre el que tenga permisos en la lista desplegable.
Table Name
El nombre de la tabla externa de Hologres que desea crear.
NotaDespués de especificar el parámetro Table Name en la sección DLF Data Source, se introduce automáticamente el mismo valor para este parámetro. Puede cambiar el nombre de la tabla externa de Hologres.
Destination Table Description
La descripción de la tabla externa de Hologres que desea crear. Puede introducir una descripción personalizada.
Haga clic en Submit. A continuación, actualice el panel de navegación izquierdo para ver la nueva tabla externa bajo el esquema correspondiente.
-
(Opcional) Haga doble clic en la tabla externa creada y luego en Query Table para abrir el editor SQL. Posteriormente, podrá consultar los datos mediante la sintaxis estándar de PostgreSQL.
NotaDespués de especificar el parámetro Table Name en la sección DLF Data Source, se muestran todos los campos de la tabla de origen externa. Al crear una tabla externa para dicha tabla de origen, todos los campos se incluyen de forma predeterminada. Si desea incluir solo campos específicos en la tabla externa, establezca Acceleration Method en Single Table o ejecute sentencias SQL para crear la tabla externa. Para obtener más información sobre cómo crear tablas externas mediante sentencias SQL, consulte CREATE FOREIGN TABLE.
Operaciones adicionales en servidores externos mediante sentencias SQL
Una vez creado un servidor externo, puede ejecutar sentencias SQL para consultar, modificar o eliminar dicho servidor.
-
Consulte un servidor externo creado.
SELECT * FROM pg_foreign_server; -
Modifique el catálogo DLF de un servidor externo.
ALTER SERVER <foreignserver_name> OPTIONS (ADD|SET|DROP dlf_catalog ['<catalog_name>']) ;La siguiente tabla describe los parámetros.
Parámetro
Descripción
foreignserver_name
El nombre del servidor externo que desea modificar.
ADD
Operación que se ejecuta para agregar un catálogo DLF al servidor externo.
SET
Operación que se ejecuta para modificar el catálogo DLF del servidor externo.
DROP
Operación que se ejecuta para eliminar el catálogo DLF del servidor externo. Ejemplo:
ALTER SERVER foreign_server_test OPTIONS (DROP dlf_catalog) ;. -
Elimine un servidor externo.
DROP SERVER <foreignserver_name> CASCADE;La siguiente tabla describe los parámetros.
Parámetro
Descripción
foreignserver_name
El nombre del servidor externo que desea eliminar.
CASCADE
Operación en cascada que se ejecuta para eliminar los objetos dependientes del servidor externo cuando se elimina dicho servidor. Por ejemplo, se eliminan las tablas externas que dependen del servidor externo.
Operaciones adicionales en tablas externas
Edición de una tabla externa
En el panel de navegación izquierdo de HoloWeb, expanda la lista Instances Connected.
Vaya a su instancia destino > base de datos destino > esquema destino, y luego haga clic en Foreign Tables para ver todas las tablas externas creadas.
Haga doble clic en la tabla externa deseada y luego en Edit Table en la página de detalles.
Puede modificar los Fields o las Partitions asignados desde la tabla de origen externa.
Haga clic en Submit para guardar los cambios.
Cambio de nombre de una tabla externa
Para localizar la tabla externa deseada en la lista Instances Connected de la barra de navegación izquierda de HoloWeb, consulte los pasos 1 y 2 en Edit a Foreign Table.
Haga clic derecho en la tabla externa deseada y seleccione Rename.
En el cuadro de diálogo Modify Table Name, introduzca un nuevo nombre.
Haga clic en OK.
Eliminación de una tabla externa
En la barra de navegación izquierda de HoloWeb, localice la tabla externa deseada en la lista Instances Connected. Para conocer los pasos necesarios para encontrar la tabla, consulte los pasos 1 y 2 en Edit Foreign Table.
Haga clic derecho en la tabla externa deseada y seleccione Delete Table.
En el cuadro de diálogo Delete Table, haga clic en OK.
Previsualización de datos
En la lista Instances Connected de la barra de navegación izquierda de HoloWeb, localice la tabla externa deseada siguiendo los pasos 1 y 2 en Edit a foreign table.
Haga doble clic en la tabla externa deseada. En la página de detalles que aparece, haga clic en la pestaña Data Preview.
Preguntas frecuentes
-
Descripción del problema: Aparece el siguiente mensaje de error cuando un usuario RAM intenta acceder a una tabla externa en HoloWeb. El mensaje indica que el usuario RAM no tiene permisos para invocar operaciones de la API de DLF. El mensaje de error contiene la siguiente información:
You are not authorized to perform the operation. Please use RAM to authorize the operation.Action: [dlf:xxx]. Solución: Conceda al usuario RAM los permisos AliyunDLF necesarios para las operaciones de API en la consola de RAM .
Referencias
También puede utilizar sentencias SQL para crear servidores externos. Para obtener más información, consulte Create a foreign server.
También puede utilizar sentencias SQL para crear tablas externas. Para obtener más información, consulte Create a foreign table in a Hologres instance.
-
Para obtener más información sobre las sentencias DDL para tablas externas, consulte los siguientes temas: