Topik ini menjelaskan cara menggunakan tabel eksternal untuk mengimpor data MaxCompute ke kluster ApsaraDB for ClickHouse. Versi kernel kluster adalah 19.15.2.2.
Impor data
- Masuk ke kluster tujuan ApsaraDB for ClickHouse dan buat tabel eksternal.Gunakan sintaksis berikut untuk membuat tabel eksternal:
CREATE TABLE <table_name> [on cluster default] ( 'col_name' col_type,[col_name col_type] ) ENGINE = MaxCompute('<tunnel-endpoint>', '<project-name>', '<table-name>', '<partition-spec>', '<access-key-id>', '<access-key-secret>');Parameter Deskripsi table_name Nama tabel eksternal kustom. 'col_name' col_type Nama dan tipe data kolom. Tipe data kolom di ApsaraDB for ClickHouse harus dipetakan ke tipe data kolom di MaxCompute. Untuk informasi lebih lanjut, lihat Pemetaan tipe data antara MaxCompute dan ApsaraDB for ClickHouse.
ENGINE = MaxCompute Mesin penyimpanan MaxCompute yang digunakan untuk tabel eksternal. tunnel-endpoint Titik akhir MaxCompute. Catatan Untuk memastikan koneksi antara kluster ApsaraDB for ClickHouse dan MaxCompute, nilai tunnel-endpoint harus berupa titik akhir VPC, dan MaxCompute harus ditempatkan di wilayah yang sama dengan kluster ApsaraDB for ClickHouse. Sebagai contoh, MaxCompute dan kluster ApsaraDB for ClickHouse ditempatkan di wilayah China (Shanghai). Untuk informasi tentang titik akhir tunnel MaxCompute, lihat Titik Akhir.project-name Nama proyek MaxCompute yang berisi data yang ingin Anda impor. Catatan Nama proyek harus sama dengan nama proyek yang digunakan di MaxCompute.table-name Nama tabel MaxCompute yang berisi data yang ingin Anda impor. Catatan Nama tabel harus sama dengan nama tabel yang digunakan di MaxCompute.partition-spec Partisi MaxCompute yang ingin Anda akses. Anda harus menentukan partisi. Ekspresi untuk menentukan beberapa partisi tidak boleh mengandung spasi atau tanda kutip tunggal ('). Contoh: sale_date=2020-09-01,region=beijing.
access-key-id ID AccessKey akun Anda yang digunakan untuk mengakses data. Catatan Akun tersebut harus memiliki izin baca pada proyek MaxCompute dan tabel MaxCompute.access-key-secret Rahasia AccessKey akun Anda yang digunakan untuk mengakses tabel MaxCompute. ContohCREATE TABLE default.odps_src_tbl on cluster default ( `shop_name` String, `customer_id` String, `total_price` Float64 ) ENGINE = MaxCompute('http://dt.cn-shanghai.maxcompute.aliyun-inc.com', 'test_project', 'test_tbl', 'sale_date=2020-09-01,region=beijing', '<your-access-key-id>', '<your-access-key-secret>'); - Buat tabel tujuan.
CREATE TABLE default.odps_dst_tbl_local on cluster default ( `shop_name` String, `customer_id` String, `total_price` Float64 ) ENGINE= MergeTree() ORDER BY customer_id; CREATE TABLE default.odps_dst_tbl_dist on cluster default as default.odps_dst_tbl_local ENGINE= Distributed(default, default, odps_dst_tbl_local, rand()); - Impor data dari tabel eksternal ke tabel tujuan.
insert into odps_dst_tbl_dist select * from odps_src_tbl;
Pemetaan tipe data antara MaxCompute dan ApsaraDB for ClickHouse
| Tipe data di MaxCompute | Tipe data di ApsaraDB for ClickHouse |
| boolean | UInt8 |
| tinyint | UInt8, Int8 |
| smalllint | UInt16, Int16 |
| int | UInt32, Int32 |
| bigint | UInt64, Int64 |
| float | Float32 |
| double | Float64 |
| char | String |
| varchar | String |
| binary | String |
| string | String |
| date | UInt16 |
| datetime | UInt32 |
| UUID | Tidak didukung |
| INTERVAL | Tidak didukung |
| Decimal | Tidak didukung |
| Timestamp | Tidak didukung |
| Tipe data komposit | Tidak didukung |