Todos os produtos
Search
Central de documentação

Hologres:IMPORT FOREIGN SCHEMA

Última atualização: Jun 28, 2026

A instrução IMPORT FOREIGN SCHEMA cria tabelas externas em lote ao mapear automaticamente os schemas de tabelas de uma fonte de dados remota para o Hologres. Use esta instrução em vez de criar cada tabela externa manualmente.

O recurso oferece suporte a duas fontes de dados:

  • Tabelas do MaxCompute: importe tabelas externas de modelos de duas ou três camadas do MaxCompute.

  • Tabelas Paimon no Data Lake Formation (DLF): importe tabelas externas de tabelas Paimon no DLF.

Sintaxe

IMPORT FOREIGN SCHEMA remote_schema
    [ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ]
    FROM SERVER server_name
    INTO local_schema
    [ OPTIONS ( option 'value' [, ... ] ) ]

Parâmetros

Parâmetro

Descrição

remote_schema

Nome do schema remoto de origem da importação. Para o modelo de duas camadas do MaxCompute: nome do projeto. Para o modelo de três camadas do MaxCompute: odps_project_name#odps_schema_name. Para DLF: nome do metadatabase.

table_name

Nomes das tabelas a importar. Use com LIMIT TO para especificar um subconjunto ou com EXCEPT para excluir tabelas específicas.

server_name

Nome do servidor externo. Para MaxCompute: use odps_server, pré-criado no Hologres. Para DLF: use o nome do servidor externo correspondente ao seu catálogo Paimon.

local_schema

Nome do schema do Hologres onde as tabelas externas serão criadas — por exemplo, public.

options

Controla o comportamento durante a importação. Consulte a seção Opções abaixo.

Opções

Opção

Valores

Descrição

if_table_exist

error (padrão), ignore, update

Ação quando já existe uma tabela externa com o mesmo nome. error interrompe a criação dessa tabela. ignore ignora a tabela e continua a importação das demais. update reimporta e sobrescreve a tabela existente.

if_unsupported_type

skip (padrão), error

Ação quando uma tabela contém tipos de dados sem suporte no Hologres. skip pula as tabelas afetadas e registra quais foram ignoradas. error interrompe a importação e informa quais tabelas possuem tipos sem suporte.

prefix

Qualquer string

Prefixo adicionado aos nomes das tabelas externas criadas no Hologres. Requer Hologres V1.1.26 ou posterior.

suffix

Qualquer string

Sufixo adicionado aos nomes das tabelas externas criadas no Hologres. Requer Hologres V1.1.26 ou posterior.

Observações de uso

  • Sempre inclua a cláusula LIMIT TO para definir quais tabelas importar. Se omitida, o Hologres cria tabelas externas para todas as tabelas do projeto MaxCompute de destino.

  • O Hologres oferece suporte apenas à criação de tabelas externas do MaxCompute. Os nomes das tabelas externas devem corresponder exatamente aos nomes das tabelas no MaxCompute.

  • As opções prefix e suffix exigem Hologres V1.1.26 ou posterior. Para versões anteriores, consulte Erros comuns ao preparar uma atualização ou entre em contato com o suporte via suporte online.

  • O modelo de três camadas do MaxCompute requer Hologres V1.3 ou posterior. O uso de sintaxe de duas camadas em um modelo de três camadas resulta em erro semelhante a:

    failed to import foreign schema:Table not found - table_xxx

    Para versões anteriores, consulte Erros comuns ao preparar uma atualização.

  • Para mais detalhes sobre o modelo de três camadas do MaxCompute, consulte Operações de schema.

Exemplos

Modelo de duas camadas do MaxCompute

Os exemplos a seguir importam tabelas externas do projeto MaxCompute public_data para o Hologres.

Importar uma única tabela e atualizar caso já exista:

IMPORT FOREIGN SCHEMA public_data LIMIT TO
  (customer)
  FROM SERVER odps_server INTO public
  OPTIONS (if_table_exist 'update');

Importar várias tabelas em lote:

IMPORT FOREIGN SCHEMA public_data LIMIT TO (
  customer,
  customer_address,
  customer_demographics,
  inventory,
  item,
  date_dim,
  warehouse
)
FROM SERVER odps_server INTO public
OPTIONS (if_table_exist 'update');

Importar para um schema personalizado:

CREATE SCHEMA testdemo;

IMPORT FOREIGN SCHEMA public_data LIMIT TO (
  customer,
  customer_address,
  customer_demographics,
  inventory,
  item,
  date_dim,
  warehouse
)
FROM SERVER odps_server INTO testdemo
OPTIONS (if_table_exist 'update');

SET search_path TO testdemo;

Gerar erro se a tabela já existir:

IMPORT FOREIGN SCHEMA public_data LIMIT TO (
  customer,
  customer_address
)
FROM SERVER odps_server INTO public
OPTIONS (if_table_exist 'error');

Ignorar tabelas que já existem:

IMPORT FOREIGN SCHEMA public_data LIMIT TO (
  customer,
  customer_address
)
FROM SERVER odps_server INTO public
OPTIONS (if_table_exist 'ignore');

Modelo de três camadas do MaxCompute

No modelo de três camadas, há uma camada adicional de schema entre o projeto e a tabela. Especifique remote_schema como odps_project_name#odps_schema_name.

O exemplo abaixo importa a tabela odps_region_10g do schema tpch_10g no projeto MaxCompute odps_hologres:

IMPORT FOREIGN SCHEMA "odps_hologres#tpch_10g" LIMIT TO (
  odps_region_10g
)
FROM SERVER odps_server INTO public
OPTIONS (if_table_exist 'error', if_unsupported_type 'error');

Fonte de dados DLF

Para uma fonte de dados DLF, especifique o nome do metadatabase como remote_schema e o servidor externo do seu catálogo Paimon como server_name.

Este exemplo importa a tabela customer do metadatabase DLF github_events. Para etapas de configuração, consulte Acessar um catálogo Paimon baseado em DLF.

IMPORT FOREIGN SCHEMA github_events LIMIT TO (
  customer
)
FROM SERVER paimon_server INTO public
OPTIONS (if_table_exist 'update');

Próximos passos