全部产品
Search
文档中心

MaxCompute:Migrasikan data dari Proyek MaxCompute di wilayah berbeda dengan menggunakan akses data lintas-proyek

更新时间:Jul 06, 2025

Topik ini menjelaskan cara memigrasikan data lintas Proyek MaxCompute di wilayah berbeda menggunakan akses data lintas-proyek. Anda dapat menggunakan akses data lintas-proyek untuk memigrasikan data lintas Proyek MaxCompute dalam akun Alibaba Cloud yang sama atau akun Alibaba Cloud berbeda di wilayah berbeda.

Batasan

Solusi ini hanya cocok untuk migrasi data antar Proyek MaxCompute di wilayah daratan Tiongkok.

Migrasikan data lintas Proyek MaxCompute dalam akun Alibaba Cloud yang sama di wilayah berbeda

Migrasikan data tabel dari proyek sumber bernama projectA ke proyek tujuan bernama projectB. Pemilik proyek adalah akun Alibaba Cloud yang sama.

  • Akun Alibaba Cloud dapat langsung pergi ke proyek tujuan dan membuat tabel tujuan.

    Salin data selama pembuatan tabel

    -- Pergi ke projectB.
    use projectB;
    
    set odps.namespace.schema=false;
    -- Buat tabel berdasarkan tabel sumber di projectA dan salin data dari tabel sumber ke tabel baru. 
    create table [if not exists] <table_name> [lifecycle <days>] as select * from projectA.<table_name>; 

    Salin data setelah pembuatan tabel

    -- Pergi ke projectB.
    use projectB;
    
    set odps.namespace.schema=false;
    -- Buat tabel yang memiliki skema yang sama dengan tabel sumber tetapi jangan salin data. 
    create table [if not exists] <table_name> like projectA.<table_name> [lifecycle <days>];
    -- Tulis data dari tabel sumber ke tabel baru di proyek tujuan.
    insert {into|overwrite} table <table_name> [partition (<pt_spec>)] [(<col_name> [,<col_name> ...)]]
    select * from projectA.<table_name> [zorder by <zcol_name> [, <zcol_name> ...]];

    Untuk informasi lebih lanjut tentang cara membuat tabel, lihat Operasi Tabel.

  • Jika Anda melakukan operasi sebagai pengguna RAM atau Peran RAM, pastikan status proyek sumber adalah normal dan operator memiliki izin SELECT pada tabel sumber proyek sumber serta izin CreateInstance dan CreateTable pada proyek tujuan. Untuk informasi lebih lanjut tentang cara memberikan izin. Anda dapat menggunakan salah satu metode berikut untuk memberikan izin SELECT pada tabel sumber proyek sumber kepada pengguna RAM atau Peran RAM:

    • Metode 1: Tambahkan pengguna RAM ke projectA. Untuk informasi lebih lanjut, lihat Perencanaan dan Manajemen Pengguna. Kemudian, berikan izin pengguna RAM pada sumber daya yang diperlukan. Untuk informasi lebih lanjut, lihat Kelola Izin Pengguna dengan Menggunakan Perintah.

    • Metode 2: Akses proyek lintas wilayah dengan menggunakan mekanisme kontrol akses berbasis paket. Anda dapat menggunakan akun Alibaba Cloud untuk mengekspor sumber daya di projectA ke PackageA dan mengizinkan PackageA dipasang di projectB. Setelah Anda memasang PackageA di projectB, berikan izin baca pada PackageA kepada operator di projectB. Untuk informasi lebih lanjut, lihat Akses Sumber Daya Lintas-Proyek Berbasis Paket.

Migrasikan data lintas Proyek MaxCompute dalam akun Alibaba Cloud berbeda di wilayah berbeda

Langkah 1: Berikan izin baca pada data proyek sumber kepada akun Alibaba Cloud yang merupakan pemilik proyek tujuan

MaxCompute memungkinkan Anda mengakses proyek lintas akun Alibaba Cloud dengan menggunakan salah satu metode berikut:

  • Metode 1: Tambahkan akun Alibaba Cloud projectB_owner@aliyunid.com, yang merupakan pemilik projectB, ke projectA. Untuk informasi lebih lanjut, lihat Perencanaan dan Manajemen Pengguna. Kemudian, berikan izin akun Alibaba Cloud pada sumber daya yang diperlukan. Untuk informasi lebih lanjut, lihat Kelola Izin Pengguna dengan Menggunakan Perintah. Dengan cara ini, akun Alibaba Cloud projectB_owner@aliyunid.com dapat mengakses projectA.

    -- Pergi ke proyek sumber bernama projectA.
    use projectA;
    -- Tambahkan akun Alibaba Cloud projectB_owner@aliyunid.com, yang merupakan pemilik proyek tujuan bernama projectB, ke projectA.
    add user ALIYUN$projectB_owner@aliyunid.com;
    -- Berikan izin CreateTable dan CreateInstance pada proyek sumber kepada akun Alibaba Cloud.
    grant CreateTable,CreateInstance on project projectA to user ALIYUN$projectB_owner@aliyunid.com;
    -- Berikan izin SELECT pada tabel sumber kepada akun Alibaba Cloud.
    grant Select on table <tablename> to user ALIYUN$projectB_owner@aliyunid.com;
  • Metode 2: Akses proyek lintas akun Alibaba Cloud dengan menggunakan mekanisme kontrol akses berbasis paket. Gunakan akun Alibaba Cloud A (pemilik projectA) untuk mengekspor sumber daya di projectA ke PackageA dan mengizinkan akun Alibaba Cloud B (pemilik projectB) memasang PackageA di projectB. Setelah akun Alibaba Cloud B memasang PackageA di projectB, akun Alibaba Cloud B dapat mengakses sumber daya di PackageA. Untuk informasi lebih lanjut, lihat Akses Sumber Daya Lintas-Proyek Berbasis Paket.

Langkah 2: Migrasikan data

Akun Alibaba Cloud dapat langsung pergi ke proyek tujuan dan membuat tabel tujuan.

Salin data selama pembuatan tabel

-- Pergi ke projectB.
use projectB;

set odps.namespace.schema=false;
-- Buat tabel berdasarkan tabel sumber di projectA dan salin data dari tabel sumber ke tabel baru. 
create table [if not exists] <table_name> [lifecycle <days>] as select * from projectA.<table_name>; 

Salin data setelah pembuatan tabel

-- Pergi ke projectB.
use projectB;

set odps.namespace.schema=false;
-- Buat tabel yang memiliki skema yang sama dengan tabel sumber tetapi jangan salin data. 
create table [if not exists] <table_name> like projectA.<table_name> [lifecycle <days>];
-- Tulis data dari tabel sumber ke tabel baru di proyek tujuan.
insert {into|overwrite} table <table_name> [partition (<pt_spec>)] [(<col_name> [,<col_name> ...)]]
select * from projectA.<table_name> [zorder by <zcol_name> [, <zcol_name> ...]];

Untuk informasi lebih lanjut tentang cara membuat tabel, lihat Operasi Tabel.

Penting

Untuk memastikan keamanan data, kami sarankan Anda menghapus akun Alibaba Cloud yang merupakan pemilik proyek tujuan dari proyek sumber setelah migrasi data selesai. Untuk informasi lebih lanjut, lihat Hapus Akun Alibaba Cloud (Tingkat Proyek).