All Products
Search
Document Center

ApsaraDB for ClickHouse:Impor data dari ApsaraDB RDS for MySQL

Last Updated:Jul 06, 2025

Anda dapat memigrasikan data dari ApsaraDB RDS for MySQL atau PolarDB for MySQL ke ApsaraDB for ClickHouse untuk analisis real-time. Topik ini menjelaskan cara mengimpor data dari ApsaraDB RDS for MySQL ke ApsaraDB for ClickHouse. Contoh ini membantu Anda mempelajari proses migrasi data dengan mudah.

Prasyarat

  • Cluster tujuan ApsaraDB for ClickHouse telah dibuat.

    Catatan
    • Jika cluster ApsaraDB for ClickHouse belum dibuat, buat terlebih dahulu. Untuk informasi lebih lanjut, lihat Buat Cluster ApsaraDB for ClickHouse.

    • Akun database dengan hak istimewa telah dibuat untuk cluster tujuan. Untuk informasi lebih lanjut, lihat Buat Akun.

  • Instansi ApsaraDB RDS for MySQL dan cluster tujuan ApsaraDB for ClickHouse berada di wilayah yang sama serta menggunakan virtual private cloud (VPC) yang sama. Alamat IP cluster ApsaraDB for ClickHouse telah ditambahkan ke daftar putih instansi ApsaraDB RDS for MySQL. Alamat IP instansi ApsaraDB RDS for MySQL juga telah ditambahkan ke daftar putih cluster ApsaraDB for ClickHouse. Jika tidak, selesaikan masalah jaringan terlebih dahulu. Untuk informasi lebih lanjut, lihat bagian Apa yang harus saya lakukan jika koneksi gagal dibuat antara cluster tujuan dan sumber data? dalam topik FAQ.

    • Untuk informasi lebih lanjut tentang cara mengonfigurasi daftar putih untuk cluster ApsaraDB for ClickHouse, lihat Konfigurasikan Daftar Putih.

    • Untuk informasi lebih lanjut tentang cara mengonfigurasi daftar putih untuk instansi ApsaraDB RDS for MySQL, lihat Konfigurasikan Daftar Putih Alamat IP.

      Catatan

      Anda dapat mengeksekusi pernyataan SELECT * FROM system.clusters; untuk menanyakan alamat IP cluster ApsaraDB for ClickHouse.

Langkah 1: Buat tabel di instansi ApsaraDB RDS for MySQL dan tulis data ke tabel

Catatan

Langkah ini mencakup operasi pembuatan database, pembuatan tabel, dan penulisan data. Jika instansi ApsaraDB RDS for MySQL sudah memiliki data relevan, lewati langkah ini.

  1. Sambungkan ke instansi ApsaraDB RDS for MySQL menggunakan Data Management (DMS). Untuk informasi lebih lanjut, lihat Gunakan DMS untuk Masuk ke Instansi ApsaraDB RDS for MySQL.

  2. Eksekusi pernyataan CREATE DATABASE untuk membuat database bernama testdb.

    CREATE DATABASE testdb;
  3. Eksekusi pernyataan CREATE TABLE untuk membuat tabel mysql_test_table di database testdb.

    CREATE TABLE testdb.mysql_test_table (
      v1 Int NOT NULL,
      v2 Int DEFAULT NULL,
      v3 Float DEFAULT NULL
    ) ENGINE=InnoDB;
  4. Tulis data ke tabel mysql_test_table.

    INSERT INTO testdb.mysql_test_table VALUES (4,4,4.0),(1,1,2.0),(1,1,0.0),(4,1,2.0),(7,1,3.0);

Langkah 2: Buat tabel di ApsaraDB for ClickHouse

  1. Sambungkan ke cluster ApsaraDB for ClickHouse menggunakan DMS. Untuk informasi lebih lanjut, lihat Gunakan DMS untuk Menyambung ke Cluster ApsaraDB for ClickHouse.

  2. Eksekusi pernyataan CREATE TABLE untuk membuat tabel. Dalam contoh berikut, tabel clickhouse_test_table dibuat di database default.

    CREATE TABLE default.clickhouse_test_table ON CLUSTER default (
    v1 Int32, 
    v2 Nullable(Int32),
    v3 Nullable(Float32)
    ) ENGINE = MergeTree ORDER BY v1;
    Catatan
    • Tipe data tabel di ApsaraDB for ClickHouse harus dipetakan ke tipe data tabel di ApsaraDB RDS for MySQL. Untuk informasi lebih lanjut tentang pemetaan, lihat bagian Pemetaan Tipe Data dalam topik ini.

    • Jika NOT NULL tidak ditentukan untuk kolom dalam pernyataan yang digunakan untuk membuat tabel di instansi ApsaraDB RDS for MySQL, nilai kolom tersebut bisa NULL. Kolom yang sesuai dalam pernyataan yang digunakan untuk membuat tabel di ApsaraDB for ClickHouse diidentifikasi sebagai Nullable.

  3. (Opsional) Buat tabel terdistribusi bernama clickhouse_test_table_distributed.

    Catatan

    Jika cluster ApsaraDB for ClickHouse Anda adalah cluster multi-node, kami sarankan Anda membuat tabel terdistribusi. Tabel terdistribusi menggunakan sumber daya penyimpanan dan komputasi setiap server di cluster ApsaraDB for ClickHouse untuk menerapkan eksekusi efisien operasi penulisan dan kueri data. Tabel terdistribusi tidak hanya mendukung skalabilitas horizontal yang sangat baik tetapi juga memastikan performa tinggi dan ketersediaan tinggi.

    CREATE TABLE clickhouse_test_table_distributed ON CLUSTER default
     AS clickhouse_test_table
    ENGINE = Distributed(default, default, clickhouse_test_table, rand());

Langkah 3: Baca data dari instansi ApsaraDB RDS for MySQL dan tulis data ke cluster ApsaraDB for ClickHouse

Sambungkan ke cluster ApsaraDB for ClickHouse menggunakan DMS dan eksekusi pernyataan migrasi. Untuk informasi lebih lanjut, lihat Gunakan DMS untuk Menyambung ke Cluster ApsaraDB for ClickHouse.

Sintaks:

INSERT INTO <Nama tabel di ApsaraDB for ClickHouse> select * from mysql('<Titik akhir instansi ApsaraDB RDS for MySQL>:<Port>', '<Nama database ApsaraDB RDS for MySQL>','<Nama tabel di instansi ApsaraDB RDS for MySQL>', '<Akun database ApsaraDB RDS for MySQL>', '<Kata sandi akun database ApsaraDB RDS for MySQL>')
Catatan

Untuk informasi lebih lanjut tentang cara mendapatkan titik akhir dan port instansi ApsaraDB RDS for MySQL, lihat Lihat dan Kelola Titik Akhir dan Port Instansi.

Contoh:

INSERT INTO clickhouse_test_table_distributed SELECT * FROM mysql('rm-bp16t9h3999xb****.mysql.rds.aliyuncs.com:3306','testdb','mysql_test_table','test','123456Aa');

Langkah 4: Kueri data yang diimpor ke cluster ApsaraDB for ClickHouse

  1. Kueri data yang diimpor ke cluster ApsaraDB for ClickHouse. Masukkan pernyataan kueri berikut dan klik Execute(F8) untuk memeriksa apakah data telah diimpor:

    SELECT * FROM clickhouse_test_table_distributed;
    Catatan

    Jika Anda mengimpor data ke tabel lokal, ganti nama tabel terdistribusi clickhouse_test_table_distributed dalam pernyataan kueri dengan nama tabel lokal clickhouse_test_table, dan eksekusi pernyataan kueri.

  2. Hasil kueri berikut dikembalikan:

    image.png

Pemetaan tipe data

Tipe data di ApsaraDB RDS for MySQL atau PolarDB for MySQL

Tipe data di ApsaraDB for ClickHouse

Unsigned tinyint

UInt8

Tinyint

Int8

Unsigned smallint

UInt16

Smallint

Int16

Unsigned int dan Unsigned mediumint

UInt32

Int dan Mediumint

Int32

Unsigned bigint

UInt64

Bigint

Int64

Float

Float32

Double

Float64

Date

Date

Datetime dan Timestamp

DateTime

Binary

FixedString

Lainnya

String