Todos os produtos
Search
Central de documentação

MaxCompute:Migrar dados entre projetos do MaxCompute em regiões diferentes com acesso a dados entre projetos

Última atualização: Jun 26, 2026

Este tópico descreve como migrar dados entre projetos do MaxCompute em regiões diferentes com o acesso a dados entre projetos. Esse recurso permite transferir dados entre projetos do MaxCompute na mesma conta Alibaba Cloud em regiões distintas ou entre contas Alibaba Cloud diferentes também em regiões distintas.

Limitações

Esta solução aplica-se apenas à migração de dados entre projetos do MaxCompute nas regiões da China continental.

Migrar dados entre projetos do MaxCompute na mesma conta Alibaba Cloud em regiões diferentes

Migre os dados da tabela do projeto de source projectA para o projeto de destino projectB. Ambos os projetos pertencem à mesma conta Alibaba Cloud.

  • Acesse diretamente o projeto de destino e crie a tabela de destino com a conta Alibaba Cloud.

    Copiar dados durante a criação da tabela

    -- Go to projectB.
    use projectB;
    
    set odps.namespace.schema=false;
    -- Create a table based on the source table in projectA and copy data from the source table to the new table. 
    create table [if not exists] <table_name> [lifecycle <days>] as select * from projectA.<table_name>; 

    Copiar dados após a criação da tabela

    -- Go to projectB.
    use projectB;
    
    set odps.namespace.schema=false;
    -- Create a table that has the same schema as the source table but do not copy data. 
    create table [if not exists] <table_name> like projectA.<table_name> [lifecycle <days>];
    -- Write data from the source table to the new table in the destination project.
    insert {into|overwrite} table <table_name> [partition (<pt_spec>)] [(<col_name> [,<col_name> ...)]]
    select * from projectA.<table_name> [zorder by <zcol_name> [, <zcol_name> ...]];

    Para mais informações sobre como criar tabelas, consulte Operações de tabela.

  • Ao executar operações como usuário RAM ou função RAM, verifique se o status do projeto de source é normal e se o operador possui a permissão SELECT na tabela de source, além das permissões CreateInstance e CreateTable no projeto de destino. Para saber mais sobre como conceder permissões . Utilize um dos métodos abaixo para conceder a permissão SELECT na tabela de source a um usuário RAM ou função RAM:

Migrar dados entre projetos do MaxCompute em contas Alibaba Cloud diferentes em regiões diferentes

Etapa 1: Conceder permissões de leitura nos dados do projeto de source à conta Alibaba Cloud proprietária do projeto de destino

O MaxCompute permite acessar projetos entre contas Alibaba Cloud pelos seguintes métodos:

  • Método 1: Adicione a conta Alibaba Cloud projectB_owner@aliyunid.com, proprietária do projectB, ao projectA. Para mais detalhes, veja Planejamento e gerenciamento de usuários. Depois, conceda à conta as permissões necessárias nos recursos. Consulte Gerencie permissões de usuário usando comandos para obter instruções. Assim, a conta projectB_owner@aliyunid.com poderá acessar o projectA.

  • Método 2: Acesse projetos entre contas Alibaba Cloud pelo mecanismo de controle de acesso baseado em pacotes. Use a conta Alibaba Cloud A (proprietária do projectA) para compactar os recursos do projectA no PackageA e permita que a conta Alibaba Cloud B (proprietária do projectB) instale o PackageA no projectB. Após a instalação, a conta B poderá acessar os recursos do PackageA. Para mais informações, consulte Acesso a recursos entre projetos baseado em pacotes.

Etapa 2: Migrar dados

Acesse diretamente o projeto de destino e crie a tabela de destino com a conta Alibaba Cloud.

Copiar dados durante a criação da tabela

-- Go to projectB.
use projectB;

set odps.namespace.schema=false;
-- Create a table based on the source table in projectA and copy data from the source table to the new table. 
create table [if not exists] <table_name> [lifecycle <days>] as select * from projectA.<table_name>; 

Copiar dados após a criação da tabela

-- Go to projectB.
use projectB;

set odps.namespace.schema=false;
-- Create a table that has the same schema as the source table but do not copy data. 
create table [if not exists] <table_name> like projectA.<table_name> [lifecycle <days>];
-- Write data from the source table to the new table in the destination project.
insert {into|overwrite} table <table_name> [partition (<pt_spec>)] [(<col_name> [,<col_name> ...)]]
select * from projectA.<table_name> [zorder by <zcol_name> [, <zcol_name> ...]];

Para mais informações sobre como criar tabelas, consulte Operações de tabela.

Importante

Para garantir a segurança dos dados, remova a conta Alibaba Cloud proprietária do projeto de destino do projeto de source após concluir a migração. Para mais informações, consulte Remover uma conta Alibaba Cloud (nível de projeto).