Todos los productos
Search
Centro de documentos

Hologres:CREATE EXTERNAL TABLE

Última actualización: Sep 05, 2026

CREATE EXTERNAL TABLE crea una tabla externa en un esquema externo cuyo origen es Data Lake Formation 2.0 (DLF 2.0). Solo se admiten tablas con formato Apache Paimon.

Limitaciones

  • Requiere Hologres V3.0 o versiones posteriores.

  • Las tablas externas deben residir en un esquema externo cuyo origen sea DLF 2.0.

  • Solo es compatible el formato de tabla Apache Paimon.

  • Únicamente son compatibles los formatos de archivo ORC y Parquet.

Sintaxis

CREATE EXTERNAL TABLE [IF NOT EXISTS] <ext_db_name>.<ext_schema_name>.<ext_table_name>
(
  [{
    <col_name> <col_type> [<col_constraints> [, ...]] |
    <table_constraints> [, ...]
  }]
)
[LOGICAL PARTITION BY LIST(<col_name> [, ...])]
[
  WITH
  (
    "<property>" = '<value>' [, ...]
  )
];

Parámetros de la cláusula WITH

Parámetro

Descripción

Ejemplo

table_format

Formato de la tabla externa. Solo es compatible paimon.

"table_format" = 'paimon'

file_format

Formato del archivo de la tabla externa. Valores válidos: orc y parquet.

"file_format" = 'orc'

bucket

Número de buckets. Los datos de una tabla sin particiones, o los de cada partición de una tabla particionada, se distribuyen entre los buckets para habilitar lecturas y escrituras simultáneas. Para más detalles, consulte Data Distribution.

"bucket" = '1'

bucket-key

Columna que se utiliza para distribuir los datos en los buckets.

"bucket-key" = 'id'

changelog-producer

Método para generar registros de cambios en la tabla. Estos registros capturan de forma completa las operaciones INSERT, DELETE y UPDATE, de manera similar a un registro binario en una base de datos, y permiten el consumo por streaming en sistemas descendentes. Para más detalles, consulte Changelog Producer.

"changelog-producer" = 'input'

Ejemplos

Crear una tabla particionada en DLF 2.0

El ejemplo a continuación crea una tabla de solo anexión (append-only) de Apache Paimon con una partición lógica en created_at.

CREATE EXTERNAL TABLE ext_db_dlf.ext_schema_dlf.ext_par_table_dlf(
    id TEXT,
    created_at BIGINT,          -- logical partition key
    type TEXT,
    actor_id TEXT,
    actor_login TEXT,
    repo_id TEXT,
    repo_name TEXT,
    org TEXT,
    org_login TEXT
)
LOGICAL PARTITION BY LIST(created_at)
WITH (
  "file_format" = 'orc',
  "bucket" = 6,
  "bucket-key" = 'id'          -- distribute data by id across 6 buckets
);

Crear una tabla sin particiones en DLF 2.0

El ejemplo a continuación crea una tabla de clave primaria de Apache Paimon. El parámetro changelog-producer especifica el método para generar registros de cambios y permitir el consumo por streaming en sistemas descendentes.

CREATE EXTERNAL TABLE openlake_win.github_events.gh_event_ods(
    id TEXT,
    created_at BIGINT,
    type TEXT,
    actor_id TEXT,
    actor_login TEXT,
    repo_id TEXT,
    repo_name TEXT,
    org TEXT,
    org_login TEXT,
    PRIMARY KEY(id)
) WITH (
  "changelog-producer" = 'input',   -- generate changelogs for streaming consumers
  "bucket" = 6,
  "bucket-key" = 'id'
);

Más operaciones

Consultar la instrucción de creación de la tabla

SELECT * FROM hologres.hg_dump_script_external('<ext_db_name>.<ext_schema_name>.<ext_table_name>');

Consultar las propiedades de columnas y particiones

SELECT * FROM hologres.hg_external_columns('<ext_db_name>', '<ext_schema_name>', '<ext_table_name>');

Consultar todas las tablas de un esquema externo

SELECT * FROM hologres.hg_external_tables('<ext_db_name>', '<ext_schema_name>');

Actualizar los metadatos de una tabla externa

REFRESH CACHE FOR External TABLE <ext_db_name>.<ext_schema_name>.<ext_table_name> WITH( cache_level = 'metadata');