Todos los productos
Search
Centro de documentos

Hologres:Acceso a tablas Delta de MaxCompute

Última actualización: Sep 18, 2026

A partir de Hologres V3.0.38, puede consultar tablas Delta de MaxCompute directamente desde Hologres sin mover los datos. Una tabla Delta es un formato de tabla de MaxCompute diseñado para datos incrementales. Admite importaciones de datos con granularidad de minutos y usa AliORC como formato de archivo subyacente. Además, es compatible con la semántica UPSERT y permite leer y escribir datos incrementales en formato Change Data Capture (CDC). Para obtener más información sobre los conceptos de las tablas Delta, consulte Terms.

Limitaciones

Capacidad

Compatibilidad

Leer la instantánea más reciente de una tabla Delta

Compatible

Escribir datos de vuelta desde Hologres hacia una tabla Delta

No compatible

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

Paso 1: Crear una tabla Delta en MaxCompute

Cree una tabla Delta en MaxCompute mediante uno de los métodos a continuación:

  • En DataWorks: asocie un origen de datos de MaxCompute y luego cree la tabla desde la consola de DataWorks.

  • Con MaxCompute local client: ejecute el comando SQL directamente.

El ejemplo a continuación crea una tabla Delta particionada llamada mf_dt:

CREATE TABLE IF NOT EXISTS mf_dt (
  pk  BIGINT NOT NULL PRIMARY KEY,
  val BIGINT NOT NULL
)
PARTITIONED BY (dd STRING, hh STRING)
TBLPROPERTIES ("transactional"="true");

La propiedad "transactional"="true" marca la tabla como una tabla Delta.

Paso 2: Escribir datos en la tabla Delta

MaxCompute admite dos métodos para cargar datos en una tabla Delta:

El ejemplo a continuación utiliza inserciones por lotes para cargar datos en la tabla mf_dt:

-- Append rows to the dd='01', hh='01' partition
INSERT INTO TABLE mf_dt PARTITION (dd='01', hh='01')
VALUES (3, 30), (4, 4), (5, 5);

-- Overwrite the dd='01', hh='01' partition with new data
INSERT OVERWRITE TABLE mf_dt PARTITION (dd='01', hh='01')
VALUES (1, 1), (2, 2), (3, 3);

Paso 3: Asignar el proyecto de MaxCompute en Hologres

Cree una asignación de origen de datos externo en Hologres para que este detecte y consulte las tablas de MaxCompute. Hay dos métodos de asignación disponibles:

El ejemplo a continuación crea una asignación de base de datos externa para un proyecto de MaxCompute:

CREATE EXTERNAL DATABASE ext_database_mc WITH
  metastore_type 'maxcompute'
  mc_project      'mc_3_layer_project'
  comment         'mc three layer project';

Después de crear la asignación, compruebe que los esquemas y las tablas se detecten correctamente:

-- List all schemas in the external database
SELECT * FROM hologres.hg_external_schemas('ext_database_mc');

-- List all tables in the default schema
SELECT * FROM hologres.hg_external_tables('ext_database_mc', 'default');

Paso 4: Consultar la tabla Delta

Antes de consultar una tabla Delta, establezca el parámetro GUC a continuación en la sesión:

SET hg_experimental_external_catalog_routing = 'odps:common_table';

Luego, consulte la tabla mediante el nombre de tres partes external_database.schema.table:

SELECT * FROM ext_database_mc.mc_schema_name.mf_dt;

Pasos siguientes