Todos os produtos
Search
Central de documentação

AnalyticDB:IMPORT FOREIGN SCHEMA

Última atualização: Aug 24, 2026

O AnalyticDB for MySQL permite criar tabelas externas do MaxCompute em lote com a instrução IMPORT FOREIGN SCHEMA.

Pré-requisitos

  • O cluster do AnalyticDB for MySQL deve estar na versão 3.2.2.0 ou superior.

    Nota

    Para visualizar e atualizar a versão secundária, acesse a seção Configuration Information na página Cluster Information no console do AnalyticDB for MySQL.

  • A interface de rede elástica (ENI) deve estar ativada no cluster do AnalyticDB for MySQL.

    Importante
    • Faça login no console do AnalyticDB for MySQL. Na página Cluster Information, ative o switch de rede ENI na seção Network Information.

    • Ativar ou desativar a rede ENI interrompe as conexões com o banco de dados por cerca de dois minutos. Durante esse período, as operações de leitura e gravação ficam indisponíveis. Avalie o possível impacto antes de prosseguir.

  • O projeto do MaxCompute e o cluster do AnalyticDB for MySQL devem estar na mesma região.

  • O bloco CIDR da VPC do cluster do AnalyticDB for MySQL deve constar na lista de permissões de endereços IP do projeto do MaxCompute.

    Nota

    Faça login no console do AnalyticDB for MySQL e localize o ID da VPC na página Cluster Information. Em seguida, faça login no console da VPC e encontre o bloco CIDR na página VPC com base no ID da VPC. Para mais informações sobre como configurar uma lista de permissões de endereços IP para o MaxCompute, consulte Gerenciar listas de permissões de endereços IP.

  • Crie um servidor externo no AnalyticDB for MySQL. Para obter detalhes sobre a sintaxe, consulte Gerenciar servidores externos.

Sintaxe

IMPORT FOREIGN SCHEMA odps_project
[LIMIT TO (table_name[, …])]
FROM server_name
INTO adb_schema
[OPTIONS (
 if_table_exist 'error|ignore|update', 
 if_type_unsupport 'error|ignore',
 table_prefix 'table_prefix',
 table_suffix 'table_suffix')]

Parâmetros

Parâmetro

Obrigatório

Descrição

odps_project

Sim

Nome do projeto do MaxCompute.

table_name[,…]

Não

Nomes das tabelas do MaxCompute a importar. Se você não especificar nomes de tabelas, o sistema importa todas as tabelas do projeto do MaxCompute especificado como tabelas externas para o AnalyticDB for MySQL.

server_name

Sim

Nome do servidor externo. Para obter detalhes sobre a sintaxe, consulte Gerenciar servidores externos.

adb_schema

Sim

Nome do banco de dados de destino no AnalyticDB for MySQL.

if_table_exist

Não

Política para tratar conflitos de nomenclatura caso já exista uma tabela com o mesmo nome no banco de dados de destino do AnalyticDB for MySQL. Valores válidos:

  • error (Padrão): Relata um erro e lista as tabelas conflitantes. A operação falha e nenhuma tabela é importada.

  • ignore: Ignora a criação das tabelas com conflito de nomes e cria as demais.

  • update: Sobrescreve as tabelas existentes e cria as restantes.

if_type_unsupport

Não

Política para lidar com tipos de dados não suportados pelo AnalyticDB for MySQL. Valores válidos:

  • error (Padrão): Relata um erro, lista as tabelas que contêm tipos de dados não suportados e especifica esses tipos.

  • ignore: Ignora a criação de tabelas que contenham tipos de dados não suportados.

table_prefix

Não

Prefixo a adicionar ao nome de cada tabela externa importada. Por padrão, as tabelas externas no AnalyticDB for MySQL recebem os mesmos nomes das tabelas de source no MaxCompute.

table_suffix

Não

Sufixo a adicionar ao nome de cada tabela externa importada. Por padrão, as tabelas externas no AnalyticDB for MySQL recebem os mesmos nomes das tabelas de source no MaxCompute.

Exemplo

No AnalyticDB for MySQL, crie as tabelas externas do MaxCompute pre_customer_suf e pre_order_suf.

IMPORT FOREIGN SCHEMA my_project
LIMIT TO (customer, order)
FROM maxcompute_server
INTO my_adb_schema
OPTIONS (
    if_table_exist 'update',
    if_type_unsupport 'ignore',
    table_prefix 'pre_',
    table_suffix '_suf'
);

Gerenciar servidores externos

Criar servidor externo

Sintaxe

CREATE SERVER <server_name>
TYPE = 'ODPS'
SERVER_PROPERTIES = '{
	"endpoint":"<endpoint>",
	"accessid":"<accesskey_id>",
	"accesskey":"<accesskey_secret>"
}'

Parâmetros

Parâmetro

Obrigatório

Descrição

server_name

Sim

Nome do servidor externo. O nome deve começar com uma letra ou sublinhado (_), conter apenas letras, dígitos e sublinhados, e ter no máximo 64 caracteres.

TYPE='ODPS'

Sim

Tipo do servidor externo. Defina o valor como ODPS.

endpoint

Sim

Endpoint do MaxCompute.

Nota

O acesso ao MaxCompute só é possível via endpoint de VPC. Para mais informações sobre endpoints do MaxCompute, consulte Endpoints.

accessid

Sim

AccessKey ID de uma conta Alibaba Cloud ou de um usuário do MaxCompute com permissão para acessar o MaxCompute.

Para obter um AccessKey ID e um AccessKey secret, consulte Contas e permissões.

accesskey

Sim

AccessKey secret de uma conta Alibaba Cloud ou de um usuário do MaxCompute com permissão para acessar o MaxCompute.

Para obter um AccessKey ID e um AccessKey secret, consulte Contas e permissões.

Exemplo

CREATE SERVER maxcompute_server
TYPE = 'ODPS'
SERVER_PROPERTIES = '{
    "endpoint":"http://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api",
    "accessid":"STS.****************",
    "accesskey":"yourAccessKeySecret"
}';

Consultar servidores externos

Consultar todos os servidores externos

SHOW SERVER

Consultar um servidor externo específico

Sintaxe
SHOW SERVER WHERE SERVER_NAME='<server_name>'
Parâmetros

Parâmetro

Obrigatório

Descrição

server_name

Sim

Nome do servidor externo.

Exemplo
SHOW SERVER WHERE SERVER_NAME='maxcompute_server';

Consultar servidores externos por tipo

Sintaxe
SHOW SERVER WHERE SERVER_TYPE='<server_type>'
Parâmetros

Parâmetro

Obrigatório

Descrição

server_type

Sim

Tipo do servidor externo. Para o MaxCompute, o tipo é ODPS.

Exemplo
SHOW SERVER WHERE SERVER_TYPE='ODPS';

Renomear servidor externo

Sintaxe

ALTER SERVER <server_name> RENAME <new_server_name>

Parâmetros

Parâmetro

Obrigatório

Descrição

server_name

Sim

Nome original do servidor externo.

new_server_name

Sim

Novo nome do servidor externo.

Exemplo

ALTER SERVER maxcompute_server RENAME mc_server;

Excluir servidor externo

Nota

A exclusão de um servidor externo encerra a conexão entre o AnalyticDB for MySQL e o MaxCompute.

Sintaxe

DROP SERVER <server_name>

Parâmetros

Parâmetro

Obrigatório

Descrição

server_name

Sim

Nome do servidor externo.

Exemplo

DROP SERVER maxcompute_server;