Una vez configurado un catálogo DLF-Legacy, puede acceder directamente a sus tablas desde la consola de Realtime Compute for Apache Flink. Esto elimina la necesidad de registrar manualmente las tablas de Data Lake Formation (DLF), lo que mejora la eficiencia del desarrollo y garantiza la integridad de los datos. Este tema describe cómo crear, consultar, usar y eliminar un catálogo DLF-Legacy.
Este tema aplica únicamente a DLF-Legacy. Se recomienda utilizar la versión más reciente de Data Lake Formation (DLF) en lugar de DLF-Legacy. Para obtener más información sobre cómo usar la nueva versión de DLF, consulte Manage Paimon catalogs.
Contexto
Alibaba Cloud Data Lake Formation (DLF) es un servicio unificado de gestión de metadatos. Puede usar DLF para gestionar tablas en formatos de código abierto, como Iceberg, Hudi, Delta, Parquet, ORC y Avro.
Requisitos previos
El servicio DLF-Legacy debe estar activado
Limitaciones
En un catálogo DLF-Legacy, Flink solo puede gestionar tablas en los formatos de data lake Iceberg y Hudi.
Crear un catálogo DLF-Legacy
Puede crear un catálogo DLF-Legacy mediante la interfaz de usuario o comandos SQL. Se recomienda utilizar la interfaz de usuario.
Uso de la interfaz de usuario
-
Vaya a la página Catalogs.
Inicie sesión en la consola de Realtime Compute for Apache Flink.
En la columna Actions del espacio de trabajo deseado, haga clic en Console.
Haga clic en Catalogs.
Haga clic en Create Catalog, seleccione DLF y luego haga clic en Next.
-
Cree el catálogo DLF-Legacy.
-
Configure los parámetros del catálogo.
Parámetro
Descripción
Obligatorio
Observaciones
catalogname
Nombre del catálogo DLF-Legacy.
Sí
Introduzca un nombre personalizado en inglés.
access.key.id
AccessKey ID para acceder a Object Storage Service (OSS).
Sí
Para obtener más información, consulte Obtain an AccessKey pair.
access.key.secret
AccessKey Secret para acceder a Object Storage Service (OSS).
Sí
Para obtener más información, consulte Obtain an AccessKey pair.
warehouse
Ruta predeterminada de OSS donde se almacenan las tablas del catálogo DLF-Legacy.
Sí
Son compatibles tanto OSS como OSS-HDFS.
-
Formato de ruta de OSS:
oss://<bucket>/<object> -
Formato de ruta de OSS-HDFS:
oss://<bucket>.<oss-hdfs-endpoint>/<object>
Los marcadores de posición se describen a continuación:
-
bucket: Nombre de su bucket de OSS. Puede consultar el nombre del bucket en la consola de OSS.
-
object: Ruta donde se almacenan sus datos. Puede consultar la ruta en la consola de OSS.
-
oss-hdfs-endpoint: Endpoint del servicio OSS-HDFS. En la consola de OSS, en la página Overview de un bucket, consulte el endpoint del HDFS service en la sección Access Ports.
NotaEste parámetro solo puede establecerse en una ruta de OSS-HDFS en VVR 8.0.3 y versiones posteriores.
oss.endpoint
Endpoint de Alibaba Cloud OSS. Por ejemplo,
oss-cn-hangzhou-internal.aliyuncs.com.Sí
Son compatibles tanto OSS como OSS-HDFS.
-
Endpoint del servicio OSS. Para obtener más información, consulte Regions and endpoints.
-
Endpoint del servicio OSS-HDFS. En la console de OSS, en la página Overview de un bucket, consulte el endpoint del HDFS service en la sección Access Ports.
Nota-
Se recomienda establecer el parámetro oss.endpoint en un endpoint de VPC para OSS. Por ejemplo, si se encuentra en la región China (Hangzhou), establezca oss.endpoint en
oss-cn-hangzhou-internal.aliyuncs.com. -
Si necesita acceder a OSS entre distintas VPC, consulte How do I access other services across VPCs?.
dlf.endpoint
Endpoint del servicio Alibaba Cloud DLF.
Sí
Nota-
Se recomienda establecer el parámetro dlf.endpoint en un endpoint de VPC para DLF. Por ejemplo, si se encuentra en la región China (Hangzhou), establezca el parámetro dlf.endpoint en
dlf-vpc.cn-hangzhou.aliyuncs.com. -
Si necesita acceder a DLF entre distintas VPC, consulte Workspace management and operations.
dlf.region-id
ID de región del servicio Alibaba Cloud DLF.
Sí
NotaAsegúrese de que el ID de región coincida con la región del dlf.endpoint.
Configurations
Configuraciones adicionales de DLF. Por ejemplo, para especificar varios catálogos DLF, introduzca cada uno en una línea nueva.
No
Por ejemplo:
dlf.catalog.id:my_catalog. -
Haga clic en Confirm.
-
Una vez creado el catálogo, podrá consultarlo en la sección Catalogs.
Uso de comandos SQL
-
En el editor de texto de la página Scripts, introduzca el comando para crear un catálogo DLF-Legacy.
CREATE CATALOG <yourcatalogname> WITH ( 'type' = 'dlf', 'access.key.id' = '<YourAliyunAccessKeyId>', 'access.key.secret' = '<YourAliyunAccessKeySecret>', 'warehouse' = '<YourAliyunOSSLocation>', 'oss.endpoint' = '<YourAliyunOSSEndpoint>', 'dlf.region-id' = '<YourAliyunDLFRegionId>', 'dlf.endpoint' = '<YourAliyunDLFEndpoint>' );Parámetro
Descripción
Obligatorio
Observaciones
yourcatalogname
Nombre personalizado para el catálogo DLF-Legacy.
Sí
Introduzca un nombre personalizado en inglés.
ImportanteDespués de reemplazar el parámetro con el nombre de su catálogo, elimine los corchetes angulares (<>). De lo contrario, se producirá un error de sintaxis.
type
Tipo del catálogo.
Sí
Establezca este parámetro en
dlf.access.key.id
AccessKey ID de su cuenta de Alibaba Cloud.
Sí
Para obtener más información, consulte Obtain an AccessKey pair.
access.key.secret
AccessKey Secret de su cuenta de Alibaba Cloud.
Sí
Para obtener más información, consulte Obtain an AccessKey pair.
warehouse
Ruta predeterminada de OSS para las tablas del catálogo DLF-Legacy.
Sí
El formato es oss://<bucket>/<object>. Los marcadores de posición se describen a continuación:
-
bucket: Nombre de su bucket de OSS.
-
object: Ruta donde se almacenan sus datos.
NotaPuede consultar los nombres de su bucket y objeto en la consola de OSS.
oss.endpoint
Endpoint de Alibaba Cloud OSS.
Sí
Para obtener más información, consulte Regions and endpoints.
Nota-
Se recomienda establecer el parámetro oss.endpoint en un endpoint de VPC para OSS. Por ejemplo, si se encuentra en la región China (Hangzhou), establezca oss.endpoint en
oss-cn-hangzhou-internal.aliyuncs.com. -
Si necesita acceder a OSS entre distintas VPC, consulte Workspace management and operations.
dlf.endpoint
Endpoint del servicio Alibaba Cloud DLF.
Sí
Nota-
Se recomienda establecer el parámetro dlf.endpoint en un endpoint de VPC para DLF. Por ejemplo, si se encuentra en la región China (Hangzhou), establezca el parámetro dlf.endpoint en
dlf-vpc.cn-hangzhou.aliyuncs.com. -
Si necesita acceder a DLF entre distintas VPC, consulte Workspace management and operations.
dlf.region-id
ID de región del servicio Alibaba Cloud DLF.
Sí
NotaAsegúrese de que el ID de región coincida con la región del dlf.endpoint.
-
Seleccione la sentencia y haga clic en Run.
En la sección Catalogs a la izquierda, consulte el catálogo creado.
Consultar un catálogo DLF-Legacy
Después de crear un catálogo DLF-Legacy, puede consultar sus metadatos.
-
Vaya a la página Catalogs.
Inicie sesión en la consola de Realtime Compute for Apache Flink.
En la columna Actions del espacio de trabajo deseado, haga clic en Console.
Haga clic en Catalogs.
-
En la página Catalog list, puede consultar el Name y el Type.
NotaPara consultar las bases de datos y tablas de un catálogo, haga clic en View.
Usar un catálogo DLF-Legacy
Gestión de bases de datos DLF
En el editor de texto de la página Scripts, introduzca las siguientes sentencias. Seleccione una sentencia y haga clic en Run. Una vez creada o eliminada la base de datos, puede comprobar el resultado en la sección Catalogs al lado izquierdo de la página SQL Editor.
-
Crear una base de datos
CREATE DATABASE dlf.dlf_testdb; -
Eliminar una base de datos
DROP DATABASE dlf.dlf_testdb;
Gestión de tablas DLF
-
Crear una tabla
-
Crear una tabla mediante un conector
SQL
En el editor de texto de la página Scripts, introduzca una sentencia. Seleccione la sentencia y haga clic en Run. Una vez creada la tabla, podrá consultarla en la sección Catalogs al lado izquierdo de la página SQL Editor.
CREATE TABLE dlf.dlf_testdb.iceberg ( id BIGINT, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'iceberg' ); CREATE TABLE dlf.dlf_testdb.hudi ( id BIGINT PRIMARY KEY NOT ENFORCED, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'hudi' );Interfaz de usuario
-
Vaya a la página Catalogs.
Inicie sesión en la consola de Realtime Compute for Apache Flink.
En la columna Actions del espacio de trabajo deseado, haga clic en Console.
Haga clic en Catalogs.
En la columna Actions del catálogo deseado, haga clic en View.
En la columna Actions de la base de datos deseada, haga clic en View.
Haga clic en Create Table.
En la pestaña Built-in, haga clic en Connection Type y seleccione un tipo de tabla.
Haga clic en Next.
-
Introduzca la sentencia de creación de tabla y configure los parámetros. El siguiente código muestra un ejemplo.
CREATE TABLE dlf.dlf_testdb.iceberg ( id BIGINT, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'iceberg' ); CREATE TABLE dlf.dlf_testdb.hudi ( id BIGINT PRIMARY KEY NOT ENFORCED, data STRING, dt STRING ) PARTITIONED BY (dt) WITH( 'connector' = 'hudi' ); Haga clic en Confirm.
-
-
Crear una tabla con un esquema coincidente (este método solo es compatible con tablas Iceberg).
En el editor de texto de la página Scripts, introduzca la siguiente sentencia. Seleccione la sentencia y haga clic en Run.
CREATE TABLE iceberg_table_like LIKE iceberg_table;
-
-
Eliminar una tabla
DROP TABLE iceberg_table;
Modificación del esquema de tabla Iceberg****
En el editor de texto de la página Scripts, introduzca el comando correspondiente. Seleccione el comando y haga clic en Run.
|
Acciones |
Ejemplo |
|
Cambiar propiedades de la tabla |
|
|
Renombrar una tabla |
|
|
Renombrar una columna |
Nota
Esta función solo es compatible con VVR 8.0.7 y versiones posteriores. |
|
Cambiar un tipo de dato |
Se aplican las siguientes reglas al cambiar el tipo de dato de una columna:
Nota
Esta función solo es compatible con VVR 8.0.7 y versiones posteriores. |
Escritura de datos
INSERT INTO dlf.dlf_testdb.iceberg VALUES (1, 'AAA', '2022-02-01'), (2, 'BBB', '2022-02-01');
INSERT INTO dlf.dlf_testdb.hudi VALUES (1, 'AAA', '2022-02-01'), (2, 'BBB', '2022-02-01');
Lectura de datos
SELECT * FROM dlf.dlf_testdb.iceberg LIMIT 2;
SELECT * FROM dlf.dlf_testdb.hudi LIMIT 2;
Eliminar un catálogo DLF-Legacy
La eliminación de un catálogo DLF-Legacy no afecta a los despliegues en ejecución. Sin embargo, los despliegues que utilizan el catálogo podrían fallar al reiniciarse o republicarse, ya que no podrán encontrar las tablas. Proceda con precaución.
Puede eliminar un catálogo DLF-Legacy mediante la interfaz de usuario o comandos SQL. Se recomienda utilizar la interfaz de usuario.
Uso de la interfaz de usuario
-
Vaya a la página Catalogs.
Inicie sesión en la consola de Realtime Compute for Apache Flink.
En la columna Actions del espacio de trabajo deseado, haga clic en Console.
Haga clic en Catalogs.
En la página Catalog list, haga clic en Delete en la columna Actions del catálogo deseado.
En el mensaje de confirmación que aparece, haga clic en Delete.
En la sección Catalogs a la izquierda, compruebe que el catálogo deseado se haya eliminado.
Uso de comandos SQL
-
En el editor de texto de la página Scripts, introduzca el siguiente comando.
DROP CATALOG ${catalog_name}Reemplace ${catalog_name} con el nombre del catálogo DLF-Legacy que desea eliminar.
Seleccione el comando y haga clic en Run.
En la sección Catalogs a la izquierda, compruebe que el catálogo deseado se haya eliminado.
Documentos relacionados
Para obtener más información sobre cómo usar el conector Iceberg, consulte Iceberg connector.
Para obtener más información sobre cómo usar el conector Hudi, consulte Hudi connector (retiring).
Si los catálogos integrados no satisfacen sus requisitos empresariales, puede crear un catálogo personalizado. Para obtener más información, consulte Manage custom catalogs.