Topik ini menjelaskan cara menggunakan tabel eksternal untuk mengekspor data dari AnalyticDB for MySQL ke tabel partisi di MaxCompute.
Prasyarat
- Tabel tujuan telah dibuat di MaxCompute. Untuk informasi lebih lanjut, lihat Buat Akun Alibaba Cloud dan Buat Tabel.
Sebagai contoh, salah satu tabel berikut dapat dibuat di MaxCompute dengan mengeksekusi pernyataan pembuatan tabel. Untuk detail lebih lanjut, lihat Operasi Tabel. Jika Anda sudah membuat tabel tujuan, lewati langkah ini.
Catatan Untuk mengekspor data ke tabel partisi MaxCompute, Anda harus menentukan partisi tempat data akan ditulis. Data dapat diekspor ke beberapa partisi dengan mengeksekusi beberapa pernyataan SQL. MaxCompute mendukung hingga enam tingkat partisi. Anda dapat merujuk pada operasi sebelumnya untuk membuat tabel dengan tingkat partisi yang lebih tinggi.- Buat tabel dengan partisi hash
CREATE TABLE IF NOT EXISTS odps_table ( uid STRING ) PARTITIONED BY (ds STRING) LIFECYCLE 3; - Buat tabel dengan partisi daftar
CREATE TABLE IF NOT EXISTS odps_table ( uid STRING ) PARTITIONED BY (ds STRING,other STRING) LIFECYCLE 3;
- Buat tabel dengan partisi hash
- Kluster AnalyticDB for MySQL telah dibuat, daftar putih dikonfigurasi, serta akun basis data dan basis data telah dibuat. Untuk informasi lebih lanjut, lihat Buat Kluster.
Jika kluster AnalyticDB for MySQL beroperasi dalam mode elastis, Anda perlu mengaktifkan ENI di bagian Network Information pada halaman Cluster Information.
PentingSaat mengaktifkan atau menonaktifkan ENI, koneksi basis data mungkin terputus selama sekitar 2 menit. Selama periode ini, Anda tidak dapat melakukan operasi baca atau tulis. Lanjutkan dengan hati-hati saat mengaktifkan atau menonaktifkan ENI.
Ekspor data ke tabel MaxCompute yang memiliki partisi hash
Dalam contoh berikut, data diekspor dari tabel adb_table di kluster AnalyticDB for MySQL ke tabel odps_table dengan partisi hash di MaxCompute:
- Hubungkan ke kluster AnalyticDB for MySQL . Untuk informasi lebih lanjut, lihat Hubungkan ke Kluster AnalyticDB for MySQL.
- Buat tabel eksternal yang memetakan ke tabel tujuan di MaxCompute.
CREATE TABLE odps_external_table ( uid string, ds string ) ENGINE='ODPS' TABLE_PROPERTIES='{ "endpoint":"http://service.odps.aliyun-inc.com/api", "accessid":"xxx", "accesskey":"xxx", "project_name":"xxx", "table_name":"odps_table", "partition_column":"ds" }'Parameter Deskripsi ENGINE='ODPS' Mesin yang digunakan untuk tabel eksternal. Atur mesin ke MaxCompute. TABLE_PROPERTIES Informasi koneksi yang digunakan oleh AnalyticDB for MySQL untuk mengakses dan menulis data ke MaxCompute. endpoint Titik akhir endpointMaxCompute.Catatan AnalyticDB for MySQL hanya dapat mengakses MaxCompute melalui titik akhir virtual private cloud (VPC).Untuk informasi lebih lanjut tentang cara melihat titik akhir MaxCompute, lihat Titik Akhir.
accessid ID AccessKey yang digunakan untuk mengakses tabel tujuan di MaxCompute. accesskey Rahasia AccessKey yang digunakan untuk mengakses tabel tujuan di MaxCompute. project_name Nama proyek tempat tabel tujuan berada di MaxCompute. table_name Nama tabel tujuan di MaxCompute. partition_column Kolom partisi. - Ekspor data dari tabel eksternal AnalyticDB for MySQL ke tabel MaxCompute dengan partisi hash.Catatan
adb_table_columntidak mencakup kolom partisi.insert [overwrite] into odps_external_table partition(ds='20200401') select [adb_table_column, ...] from adb_table [where ...]
Ekspor data ke tabel MaxCompute yang memiliki partisi daftar
Dalam contoh berikut, data diekspor dari tabel adb_table di kluster AnalyticDB for MySQL ke tabel odps_table dengan partisi daftar di MaxCompute:
- Hubungkan ke kluster AnalyticDB for MySQL . Untuk informasi lebih lanjut, lihat Hubungkan ke Kluster AnalyticDB for MySQL.
- Buat tabel eksternal yang memetakan ke tabel tujuan di MaxCompute.
CREATE TABLE odps_external_table ( uid string, ds string, other string) ENGINE='ODPS' TABLE_PROPERTIES='{ "endpoint":"http://service.odps.aliyun-inc.com/api", "accessid":"xxx", "accesskey":"xxx", "project_name":"xxx", "table_name":"odps_table", "partition_column":"ds,other" }' - Ekspor data dari tabel eksternal AnalyticDB for MySQL ke tabel MaxCompute dengan partisi daftar.Catatan
adb_table_columntidak mencakup kolom partisi.insert [overwrite] into odps_external_table partition(ds='20200401',other='hangzhou') select [adb_table_column, ...] from adb_table [where ...]