Topik ini menjelaskan cara mengimpor data ke ApsaraDB for ClickHouse menggunakan tabel eksternal MaxCompute.
Catatan
-
Versi kernel kluster ApsaraDB for ClickHouse yang kompatibel dengan Community harus 20.3 atau lebih baru.
-
MaxCompute adalah layanan berbayar. Untuk informasi selengkapnya tentang metode penagihan, lihat metode penagihan MaxCompute.
-
Untuk memastikan koneksi jaringan yang stabil antara ApsaraDB for ClickHouse dan MaxCompute, gunakan VPC Alibaba Cloud. Layanan MaxCompute dan kluster ApsaraDB for ClickHouse Anda harus berada di wilayah yang sama.
Prasyarat
-
Layanan MaxCompute telah diaktifkan. Untuk informasi selengkapnya, lihat Aktifkan MaxCompute.
-
Proyek MaxCompute telah dibuat di wilayah yang sama dengan kluster ApsaraDB for ClickHouse Anda. Untuk informasi selengkapnya, lihat Buat proyek MaxCompute.
-
Jika pengguna Resource Access Management (RAM) perlu menggunakan MaxCompute, pemilik akun Alibaba Cloud harus memberikan izin yang diperlukan kepada pengguna RAM tersebut. Untuk informasi selengkapnya, lihat Persiapkan pengguna RAM.
Prosedur
-
Buat tabel eksternal MaxCompute.
-
Masuk ke Konsol MaxCompute.
-
Di panel navigasi sebelah kiri, pilih .
-
Pada halaman Data Studio, arahkan kursor ke ikon
, lalu pilih . -
Di kotak dialog New Table, masukkan Table Name. Topik ini menggunakan maxcompute sebagai contoh.
-
Klik Create.
-
Di bagian Basic Properties, konfigurasikan parameter-parameter berikut.

Tabel berikut menjelaskan parameter-parameter tersebut.
Item konfigurasi
Deskripsi
Display Name
Nama tampilan tabel.
Theme
Subjek dalam DataWorks setara dengan folder. Tentukan folder tingkat-1 dan tingkat-2 untuk tabel tersebut. Anda dapat mengklasifikasikan tabel berdasarkan tujuan bisnis dan menempatkan tabel dengan jenis yang sama ke dalam folder yang sama.
CatatanTheme tingkat-1 dan tingkat-2 ditampilkan sebagai folder untuk manajemen tabel di DataWorks guna membantu Anda mengelola tabel dengan lebih baik. Anda dapat dengan cepat menemukan tabel saat ini berdasarkan subjek di halaman Table Management. Jika belum tersedia subjek, Anda dapat membuatnya. Untuk informasi selengkapnya, lihat Definisikan subjek tabel.
-
Di bilah alat, klik DDL.
-
Di kotak dialog DDL, masukkan pernyataan berikut untuk membuat tabel, lalu klik Generate Table Schema.
CREATE TABLE IF NOT EXISTS maxcompute ( v1 INT, v2 INT ) PARTITIONED BY ( v3 STRING ); -
Klik Submit to Development Environment dan Submit to Production Environment.
-
-
Tulis data ke tabel eksternal MaxCompute.
-
Di halaman Data Studio, klik Ad-hoc Query di panel navigasi sebelah kiri.
-
Arahkan kursor ke ikon
, lalu pilih . -
Di kotak dialog New Node, pilih Path dan masukkan Name.
-
Klik Confirm.
-
Di halaman pengeditan node, masukkan pernyataan berikut untuk menulis data ke tabel eksternal MaxCompute.
insert into maxcompute PARTITION (v3='2021') values (1,2),(2,3); -
Di bilah alat, klik ikon
. -
Di jendela Parameters, pilih shared resource groups for scheduling lalu klik OK.
-
Di jendela MaxCompute Compute Cost Estimate, konfirmasi Estimated Fee lalu klik Run.
-
-
Buat tabel ApsaraDB for ClickHouse.
-
Masuk ke Konsol ApsaraDB for ClickHouse.
-
Di halaman Clusters, klik ID kluster tujuan.
-
Di pojok kanan atas bilah navigasi, klik Log On to Database.
-
Masukkan pernyataan untuk membuat tabel lalu klik Execute (F8).
Sintaks untuk membuat tabel adalah sebagai berikut.
CREATE TABLE <table_name> [on cluster default] ( 'col_name1' col_type1, 'col_name2' col_type2, ... ) ENGINE = MaxCompute('<tunnel-endpoint>', '<project-name>', '<table-name>', '<partition-spec>', '<access-key-id>', '<access-key-secret>',<read-thread-num>, '<quota>');CatatanJika Anda menggunakan mesin tabel MaxComputeRaw, ubah
tunnel-endpointmenjadiodps-endpointdalam sintaks tersebut. Parameter odps-endpoint menentukan titik akhir VPC. Untuk informasi selengkapnya tentang cara memperoleh titik akhir VPC, lihat Endpoint.Tabel berikut menjelaskan parameter-parameter tersebut.
Nama parameter
Deskripsi
table_nameNama tabel.
col_name1,col_name2Nama kolom.
col_type1,col_type2Tipe kolom.
CatatanSkema tabel ApsaraDB for ClickHouse harus sesuai dengan tabel MaxCompute. Untuk informasi selengkapnya tentang pemetaan tipe data, lihat Pemetaan tipe data.
tunnel-endpointTunnel Endpoint dari layanan Tunnel.
Untuk memastikan koneksi jaringan yang stabil antara ApsaraDB for ClickHouse dan MaxCompute, gunakan VPC Alibaba Cloud. Layanan MaxCompute dan kluster ApsaraDB for ClickHouse Anda harus berada di wilayah yang sama.
CatatanUntuk informasi selengkapnya tentang cara melihat
tunnel-endpointuntuk VPC, lihat Endpoint.project-nameNama proyek MaxCompute.
table-nameNama tabel eksternal MaxCompute.
partition-specPartisi MaxCompute.
access-key-idID AccessKey yang digunakan untuk mengakses proyek MaxCompute.
access-key-secretRahasia AccessKey yang digunakan untuk mengakses proyek MaxCompute.
read-thread-num(Opsional)Jumlah thread konkuren untuk membaca satu shard tabel MaxCompute. Nilai default-nya adalah 1.
quota(Opsional)Unit sumber daya komputasi MaxCompute. Secara default, kuota bersama digunakan.
Pernyataan untuk membuat tabel adalah sebagai berikut.
CREATE TABLE default.maxcomputetest ON CLUSTER default ( v1 Int32, v2 Int32 ) ENGINE = MaxCompute('http://dt.cn-hangzh******.aliyun-inc.com', 'ckfwt', 'maxcompute', 'v3=2021', 'LTAI****************', 'yourAccessKeySecret');
-
-
Kueri tabel ApsaraDB for ClickHouse.
-
Masuk ke Konsol ApsaraDB for ClickHouse.
-
Di halaman Clusters, klik ID kluster tujuan.
-
Di pojok kanan atas bilah navigasi, klik Log On to Database.
-
Masukkan pernyataan kueri lalu klik Execute (F8).
SELECT * FROM maxcomputetest;Hasil kueri adalah sebagai berikut.

-
Pemetaan tipe data
|
Tipe MaxCompute |
Tipe 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 |
Date |
|
Datetime |
Datetime |
|
UUID |
Tidak didukung |
|
INTERVAL |
Tidak didukung |
|
Decimal |
String |
|
Timestamp |
Tidak didukung |
|
Map |
Nested(Nullable(keyType), Nullable(valueType)). Hanya struktur Map tingkat tunggal dan tidak bersarang yang didukung. Sebagai contoh, map<string, string> di MaxCompute sesuai dengan Nested(k Nullable(String), v Nullable(String)) di ApsaraDB for ClickHouse. Catatan
Tipe dalam Nested harus Nullable. Jika tidak, terjadi error saat Anda membuat tabel. |
|
Array |
Array(Nullable(Type)). Hanya struktur Array tingkat tunggal dan tidak bersarang yang didukung. Sebagai contoh, array<int> di MaxCompute sesuai dengan Array(Nullable(Int32)) di ApsaraDB for ClickHouse. Catatan
Tipe dalam Array harus Nullable. Jika tidak, terjadi error saat Anda membuat tabel. |
|
Struct |
Tuple(Nullable(Type)). Hanya struktur Struct tingkat tunggal dan tidak bersarang yang didukung. Sebagai contoh, struct<x:int, y:string> di MaxCompute sesuai dengan Tuple(Nullable(Int32), Nullable(String)) di ApsaraDB for ClickHouse. Catatan
Tipe dalam Tuple harus Nullable. Jika tidak, terjadi error saat Anda membuat tabel. |