全部产品
Search
文档中心

ApsaraDB for SelectDB:Migrasi data Doris

更新时间:Feb 26, 2026

Anda dapat memigrasikan data dari Apache Doris ke ApsaraDB for SelectDB menggunakan dua metode utama: OSS dan Catalog. Pilih metode migrasi sesuai kebutuhan dan skenario Anda. Topik ini menjelaskan metode migrasi data offline dari Apache Doris ke ApsaraDB for SelectDB serta cara memilih metode tersebut.

Pilih metode

Pilih metode migrasi berdasarkan skenario bisnis Anda. Tabel berikut menjelaskan metode migrasi dan aturan pemilihannya.

Metode

Skenario

Direkomendasikan untuk

Prosedur

Ekspor ke dan impor dari OSS

Data Anda disimpan di Alibaba Cloud dan volumenya besar.

  • Menghindari biaya trafik untuk migrasi data.

    Catatan

    Jika Doris dan SelectDB berada di wilayah yang sama, migrasi menggunakan jaringan internal.

  • Mendukung migrasi data berskala besar.

Migrasi data menggunakan OSS

Contents

Data Anda disimpan di Alibaba Cloud dan volumenya kecil.

Catatan

Ini mencakup skenario seperti kluster Alibaba Cloud EMR.

  • Menghindari biaya trafik untuk migrasi data.

    Catatan

    Ketika Doris dan SelectDB berada di Region yang sama, migrasi menggunakan trafik jaringan internal.

  • Tidak bergantung pada komponen eksternal.

Migrasi menggunakan Catalog

Topik ini menjelaskan secara rinci cara memigrasikan data offline dari Doris ke SelectDB menggunakan Catalog atau OSS.

Migrasi data menggunakan OSS

Prasyarat

  • Layanan OSS:

    • Layanan OSS telah diaktifkan. Untuk informasi selengkapnya, lihat Aktifkan OSS.

    • Pengguna Resource Access Management (RAM) yang digunakan untuk mengakses OSS memiliki izin baca dan tulis pada objek OSS. Untuk informasi selengkapnya, lihat Izin dan kontrol akses.

  • Kluster:

    Akun database telah dibuat di kluster. Untuk informasi selengkapnya, lihat Manajemen akun.

Persiapan

Buat bucket di konsol OSS. Untuk informasi selengkapnya, lihat Buat bucket di konsol.

Penting

Pastikan bucket OSS dan instans ApsaraDB for SelectDB berada di wilayah yang sama.

Dalam topik ini, bucket bernama test-selectdb digunakan sebagai contoh.

Langkah 1: Ekspor data sumber

  1. Login ke kluster sumber.

    Untuk informasi tentang cara login ke instans Doris yang dikelola sendiri, lihat Menghubungkan melalui Protokol MySQL - Apache Doris.

  2. (Opsional) Siapkan data sampel.

    Jika Anda sudah memiliki data untuk dimigrasikan, lewati langkah ini.

    1. Buat database.

      Jalankan pernyataan berikut untuk membuat database.

      CREATE DATABASE source_db;
    2. Buat tabel.

      Jalankan pernyataan berikut untuk membuat tabel.

      CREATE TABLE IF NOT EXISTS source_tb (
          `c1` int(11) NULL,
          `c2` string NULL,
          `c3` bigint NULL
      )
      DISTRIBUTED BY HASH(c1) BUCKETS 20
      PROPERTIES("replication_num" = "1");
    3. Masukkan data sampel.

      INSERT INTO source_tb VALUES
          (1, 'doris', 18),
          (2, 'nereids', 20),
          (3, 'pipelibe', 99999),
          (4, 'Apache', 122123455),
          (5, null, null);
    4. Verifikasi data.

      Jalankan pernyataan berikut untuk memverifikasi data sampel.

      SELECT * FROM `source_tb` limit 10;

      Hasil berikut dikembalikan.

      +--------------+--------------+--------------+
      | c1           | c2           | c3           |
      +--------------+--------------+--------------+
      | 1            | doris        | 18           |
      | 3            | pipelibe     | 99999        |
      | 5            |              |              |
      | 2            | nereids      | 20           |
      | 4            | Apache       | 122123455    |
      +--------------+--------------+--------------+
  3. Backup pernyataan `CREATE TABLE` dari tabel sumber.

    Jalankan pernyataan SHOW CREATE TABLE untuk melihat pernyataan `CREATE TABLE` untuk tabel sumber, lalu backup pernyataan tersebut. Contoh berikut menunjukkan cara melakukannya.

    SHOW CREATE TABLE source_tb ;

    Hasil berikut dikembalikan.

    +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table           | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
    +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | source_tb       | CREATE TABLE `source_tb` (
                            `c1` int NULL,
                            `c2` text NULL,
                            `c3` bigint NULL
                          ) ENGINE=OLAP
                          DUPLICATE KEY(`c1`)
                          DISTRIBUTED BY HASH(`c1`) BUCKETS 20
                          PROPERTIES (
                          "file_cache_ttl_seconds" = "0",
                          "is_being_synced" = "false",
                          "storage_medium" = "hdd",
                          "storage_format" = "V2",
                          "inverted_index_storage_format" = "V2",
                          "light_schema_change" = "true",
                          "disable_auto_compaction" = "false",
                          "enable_single_replica_compaction" = "false",
                          "group_commit_interval_ms" = "10000",
                          "group_commit_data_bytes" = "134217728"
                          ); |
    +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    Rows returned: [1], Time elapsed: [22ms]
  4. Ekspor data ke OSS.

    Gunakan perintah `EXPORT` untuk mengekspor data ke OSS.

    Sintaks berikut digunakan.

    EXPORT TABLE table_name
    [PARTITION (p1[,p2])]
    [WHERE]
    TO export_path
    [opt_properties]
    WITH S3
    [s3_properties];

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    table_name

    Ya

    Nama tabel yang akan diekspor.

    partition

    Tidak

    Menentukan partisi dari tabel yang akan diekspor.

    where

    Tidak

    Menentukan data kondisional yang akan diekspor dari tabel.

    export_path

    Ya

    Jalur tujuan ekspor file.

    Bisa berupa direktori atau direktori dengan awalan file, misalnya s3://path/to/my_file_.

    opt_properties

    Tidak

    Menentukan parameter ekspor. Untuk informasi selengkapnya, lihat Sintaks dan parameter opt_properties.

    s3_properties

    Ya

    Mengonfigurasi properti terkait protokol S3. Untuk informasi selengkapnya, lihat Sintaks dan parameter s3_properties.

    Sintaks berikut digunakan untuk opt_properties.

    [PROPERTIES ("key"="value", ...)]

    Anda dapat menentukan parameter berikut.

    Parameter

    Wajib

    Deskripsi

    label

    Tidak

    Menentukan label untuk pekerjaan ekspor. Jika Anda tidak menentukan parameter ini, sistem akan menghasilkan label acak.

    column_separator

    Tidak

    Menentukan pemisah kolom untuk data yang diekspor.

    Nilai default adalah \t. Pemisah multi-byte didukung. Parameter ini hanya digunakan untuk file CSV.

    line_delimiter

    Tidak

    Menentukan pemisah baris untuk data yang diekspor.

    Nilai default adalah \n. Pemisah multi-byte didukung. Parameter ini hanya digunakan untuk file CSV.

    columns

    Tidak

    Menentukan kolom yang akan diekspor dari tabel.

    format

    Tidak

    Menentukan format file untuk pekerjaan ekspor.

    Nilai yang valid: parquet, orc, csv, csv_with_names, dan csv_with_names_and_types.

    Nilai default adalah csv.

    max_file_size

    Tidak

    Ukuran maksimum satu file untuk pekerjaan ekspor. Jika hasil melebihi nilai ini, akan dibagi menjadi beberapa file.

    • Rentang nilai: [5 MB, 2 GB]

    • Nilai default: 1 GB

    Jika Anda menentukan ORC sebagai format file ekspor (yaitu, mengatur parameter format ke ORC), ukuran file aktual adalah ceil (max_file_size/64) * 64 MB.

    parallelism

    Tidak

    Konkurensi pekerjaan ekspor. Nilai default adalah 1.

    Pekerjaan ekspor memulai sejumlah thread yang sama dengan nilai parallelism untuk menjalankan pernyataan select into outfile. Jika nilai parallelism lebih besar dari jumlah tablet di tabel, sistem secara otomatis mengatur parallelism ke jumlah tablet. Artinya, setiap pernyataan select into outfile bertanggung jawab atas satu tablet.

    delete_existing_files

    Tidak

    Menentukan apakah akan menghapus semua file di jalur tujuan.

    false (default): Tidak menghapus file di jalur tujuan.

    true: Menghapus semua file di direktori yang ditentukan oleh export_path, lalu mengekspor data ke direktori tersebut. Contohnya:

    • Jika "file_path" = "/user/tmp", semua file dan direktori di bawah "/user/" dihapus.

    • Jika "file_path" = "/user/tmp/", semua file dan direktori di bawah "/user/tmp/" dihapus.

    Peringatan
    • Mengatur delete_existing_files = true merupakan operasi berisiko tinggi. Gunakan hanya di lingkungan pengujian.

    • Untuk menggunakan parameter `delete_existing_files`, Anda harus mengirimkan tiket ke dukungan Alibaba Cloud. Tim teknis SelectDB akan menambahkan konfigurasi enable_delete_existing_files = true ke file fe.conf dan merestart FE. Parameter ini hanya berlaku setelah restart.

    with_bom

    Tidak

    Nilai default adalah false. Jika Anda mengatur parameter ini ke true, file yang diekspor dikodekan dalam UTF-8 dengan bill of materials (BOM). Ini hanya berlaku untuk format file terkait CSV.

    timeout

    Tidak

    Periode timeout untuk pekerjaan ekspor. Nilai default adalah 2 jam. Satuan adalah detik.

    Berikut adalah sintaks untuk s3_properties.

    ("key"="value"[,...])

    Anda dapat mengonfigurasi parameter berikut.

    Parameter

    Wajib

    Deskripsi

    s3.endpoint

    Ya

    Titik akhir destinasi protokol S3.

    Contoh ini menunjukkan cara migrasi data menggunakan Alibaba Cloud OSS. Dalam kasus ini, parameter ini adalah Endpoint yang digunakan untuk mengakses data OSS. Untuk informasi selengkapnya tentang cara mendapatkan endpoint, lihat Wilayah dan endpoint OSS.

    Penting

    Pastikan bucket OSS dan instans ApsaraDB for SelectDB Anda berada di wilayah yang sama.

    s3.access_key

    Ya

    Kunci identitas pengguna untuk destinasi protokol S3.

    Contoh ini menunjukkan cara migrasi data menggunakan Alibaba Cloud OSS. Dalam kasus ini, parameter ini adalah ID AccessKey pengguna RAM yang digunakan untuk mengakses OSS.

    s3.secret_key

    Ya

    String autentikasi pengguna untuk destinasi protokol S3.

    Contoh ini menunjukkan cara migrasi data menggunakan Alibaba Cloud OSS. Dalam kasus ini, parameter ini adalah Rahasia AccessKey pengguna RAM yang digunakan untuk mengakses OSS.

    s3.region

    Ya

    Wilayah destinasi protokol S3.

    Contoh ini menunjukkan cara migrasi data menggunakan Alibaba Cloud OSS. Dalam kasus ini, parameter ini adalah wilayah bucket Alibaba Cloud OSS. Untuk informasi selengkapnya tentang cara mendapatkan wilayah, lihat Wilayah dan endpoint OSS.

    use_path_style

    Tidak

    Nilai default adalah false.

    Secara default, SDK S3 menggunakan gaya virtual-hosted.

    Namun, beberapa sistem penyimpanan objek mungkin tidak mengaktifkan atau mendukung akses gaya virtual-hosted. Dalam kasus ini, Anda dapat menambahkan parameter use_path_style untuk memaksa gaya path.

    Catatan

    URI mendukung tiga skema: http://, https://, dan s3://.

    1. Jika Anda menggunakan http:// atau https://, sistem menentukan apakah akan menggunakan gaya path untuk mengakses destinasi protokol S3 berdasarkan parameter use_path_style.

    2. Jika Anda menggunakan s3://, sistem menggunakan gaya virtual-hosted untuk mengakses destinasi protokol S3.

    Contoh berikut menunjukkan cara melakukannya.

    EXPORT TABLE  source_tb  -- Ekspor data dari tabel source_tb.
                TO "s3://test-selectdb/test/"  -- Ekspor data ke folder test di bucket OSS bernama test-selectdb.
                PROPERTIES (
                    "label" = "test_export", -- Label pekerjaan.
                    "format" = "orc",   -- Format penyimpanan file adalah orc.
                    "max_file_size" = '2048MB', -- Ukuran pemisahan file.
                    'parallelism' = '10'  -- Konkurensi ekspor adalah 10.
                ) WITH s3 (
                    "s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com",  -- URL untuk mengakses bucket OSS.
                    "s3.region" = "oss-cn-hangzhou",  -- Wilayah tempat bucket OSS berada.
                    "s3.secret_key"="yourAccessKeySecret",  -- Kunci rahasia pengguna RAM yang digunakan untuk mengakses OSS.
                    "s3.access_key" = "LTAI****************"  -- Kunci akses pengguna RAM yang digunakan untuk mengakses OSS.
                );
  5. Verifikasi ekspor.

    Anda dapat memeriksa status ekspor data dengan salah satu dari dua cara berikut.

    • Gunakan perintah.

      Pada klien yang terhubung ke Doris, jalankan pernyataan berikut untuk memeriksa status ekspor.

      SHOW export;
      • Ekspor berhasil: Jika nilai `State` dalam hasil adalah `FINISHED`, ekspor data berhasil.

      • Ekspor gagal: Jika nilai `State` dalam hasil adalah `CANCELLED`, ekspor data gagal. Anda dapat mengidentifikasi penyebab kegagalan berdasarkan isi parameter `ErrorMsg`.

    • Gunakan konsol OSS.

      Login ke konsol OSS dan periksa apakah file yang sesuai dihasilkan di jalur ekspor yang ditentukan.

Langkah 2: Impor data ke tabel tujuan

  1. Login ke kluster tujuan. Untuk informasi selengkapnya, lihat Hubungkan ke instans ApsaraDB for SelectDB menggunakan DMS.

  2. Buat tabel tujuan.

  3. Buat database.

    1. (Opsional) Buat database.

      Jika Anda sudah memiliki database tujuan, lewati langkah ini.

      Jalankan pernyataan berikut untuk membuat database.

      CREATE DATABASE aim_db;
    2. Buat tabel.

      Jalankan pernyataan `CREATE TABLE` yang telah di-backup.

      Pernyataan `CREATE TABLE` berikut digunakan dalam contoh ini.

      CREATE TABLE IF NOT EXISTS aim_tb (
          `c1` int(11) NULL,
          `c2` string NULL,
          `c3` bigint NULL
      ) ENGINE=OLAP
      DUPLICATE KEY(`c1`)
      DISTRIBUTED BY HASH(c1) BUCKETS 20
      PROPERTIES("replication_num" = "1");
  4. Impor data.

    Gunakan `S3 load` untuk mengimpor data dari OSS ke SelectDB. Untuk informasi selengkapnya tentang sintaks S3 load dan contoh lainnya, lihat OSS Load.

    Contoh berikut menunjukkan cara melakukannya.

     LOAD LABEL label_1  -- Nama label acak yang secara unik mengidentifikasi pekerjaan.
                    (
                        DATA INFILE("s3://test-selectdb/test/59ab2e9dc4ec4c04-9e50e45a6fda2c8e_0.orc")  -- Jalur file data yang diekspor di OSS dari langkah sebelumnya.
                        INTO TABLE aim_tb  -- Nama tabel tujuan impor data.
                        FORMAT AS ORC   -- Format file yang diimpor, sama dengan format data yang diekspor.
                    )
                    WITH S3
                    (
                        "AWS_PROVIDER" = "OSS",
                        "AWS_REGION" = "oss-cn-hangzhou",  -- Wilayah tempat bucket OSS berada.
                        "AWS_ENDPOINT" = "oss-cn-hangzhou-internal.aliyuncs.com",  -- URL untuk mengakses bucket OSS.
                        "AWS_ACCESS_KEY" = "LTAI****************",  -- Kunci akses pengguna RAM yang digunakan untuk mengakses OSS.
                        "AWS_SECRET_KEY"="yourAccessKeySecret"  -- Kunci rahasia pengguna RAM yang digunakan untuk mengakses OSS.
                    )
                    PROPERTIES
                    (
                        "timeout" = "3600"   -- Periode timeout impor.
                    );
  5. Verifikasi impor.

    Anda dapat memeriksa hasil impor dengan salah satu dari dua cara berikut.

    • Gunakan perintah.

      Pada klien yang terhubung ke SelectDB, jalankan pernyataan berikut untuk memeriksa status impor.

      SHOW load;

      Impor berhasil: Jika nilai `State` dalam hasil adalah `FINISHED`, data berhasil diimpor.

    • Kueri tabel tujuan. Berikut adalah contoh pernyataan.

      SELECT * FROM `aim_tb` limit 10;

      Hasil berikut dikembalikan.

      +--------------+--------------+--------------+
      | c1           | c2           | c3           |
      +--------------+--------------+--------------+
      | 1            | doris        | 18           |
      | 3            | pipelibe     | 99999        |
      | 5            |              |              |
      | 2            | nereids      | 20           |
      | 4            | Apache       | 122123455    |
      +--------------+--------------+--------------+

      Data tersebut sama dengan data di tabel sumber yang dijelaskan dalam Langkah 1: Ekspor data sumber. Hal ini menunjukkan bahwa impor berhasil.

Migrasi data menggunakan Catalog

Prasyarat

  • Pastikan instans Doris dan instans SelectDB dapat berkomunikasi satu sama lain melalui jaringan.

  • Versi SelectDB tidak boleh lebih awal dari versi Doris.

    Catatan

    SelectDB adalah gudang data real-time cloud-native yang dibangun di atas Doris. Untuk informasi selengkapnya tentang pemetaan versi di antara keduanya, lihat Catatan rilis kernel.

  • Pahami Catalog dan operasi dasarnya. Untuk informasi selengkapnya, lihat Lakehouse data.

Lingkungan contoh

Contoh ini menunjukkan cara memigrasikan data dari tabel doris_t di database doris_db instans Doris ke tabel test_doris2SelectDB di database test_db instans SelectDB. Saat melakukan migrasi, ubah parameter sesuai kebutuhan. Lingkungan berikut digunakan dalam contoh ini:

  • Database tujuan: test_db

  • Tabel tujuan: test_doris2SelectDB

  • Database sumber: doris_db

  • Tabel sumber: doris_t

Contoh persiapan data sumber

Login ke instans Doris sumber Anda dan lakukan operasi berikut.

  1. Buat database.

    CREATE DATABASE doris_db;
  2. Buat tabel.

    CREATE TABLE doris_t
    (
        id int,
        name string,
        age int
    )
    DISTRIBUTED BY HASH(id) BUCKETS 4
    PROPERTIES("replication_num" = "1");
  3. Masukkan data.

    INSERT INTO doris_t VALUES
    (1, 'Alice', 25),
    (2, 'Bob', 30),
    (3, 'Charlie', 35),
    (4, 'David', 40),
    (5, 'Eve', 45);

Prosedur

  1. Hubungkan ke instans SelectDB. Untuk informasi selengkapnya, lihat Hubungkan ke instans ApsaraDB for SelectDB menggunakan klien MySQL.

  2. Buat Catalog JDBC Java Database Connectivity (JDBC) Doris.

    CREATE CATALOG doris_catalog PROPERTIES (
     "type"="jdbc",
     "user"="root",
     "password"="123456",
     "jdbc_url" = "jdbc:mysql://127.0.0.1:9030/doris_db",
     "driver_url" = "mysql-connector-java-8.0.25.jar",
     "driver_class" = "com.mysql.cj.jdbc.Driver"
    )

    Parameter

    Wajib

    Nilai default

    Deskripsi

    user

    Ya

    Tidak ada

    Akun database Doris.

    password

    Ya

    Tidak ada

    Kata sandi akun database Doris.

    jdbc_url

    Ya

    Tidak ada

    String koneksi JDBC. Harus berisi alamat koneksi database Doris.

    Format: jdbc:mysql://<host>:<port>/<database>

    • host: Alamat IP database Doris.

    • port: Nomor port database Doris.

    • database: Nama database yang akan diakses.

    Contoh: jdbc:mysql://127.0.0.1:9030/doris_db

    driver_url

    Ya

    Tidak ada

    Nama paket JAR driver JDBC.

    Catatan
    • Kami merekomendasikan Anda menggunakan mysql-connector-java-8.0.25.jar.

    • Jika ingin menggunakan paket JAR lain, Anda dapat mengirimkan tiket untuk konsultasi.

    driver_class

    Ya

    Tidak ada

    Nama kelas driver JDBC.

    Kami merekomendasikan Anda mengatur ini ke com.mysql.cj.jdbc.Driver.

    lower_case_table_names

    Catatan

    Diganti nama menjadi lower_case_meta_names di versi 4.0

    Tidak

    "false"

    Menentukan apakah akan menyinkronkan nama database dan tabel dari sumber data JDBC eksternal dalam huruf kecil.

    true: Memungkinkan Anda mengkueri database dan tabel dengan nama yang bukan huruf kecil dengan mempertahankan pemetaan dari nama huruf kecil ke nama aktual di sistem remote. Dalam hal ini, nama database, tabel, dan kolom semuanya diubah menjadi huruf kecil.

    false: Anda tidak dapat mengkueri database dan tabel dengan nama yang bukan huruf kecil.

    Penting
    • Untuk SelectDB 3.0:

      • Jika parameter lower_case_table_names FE diatur ke 1 atau 2, parameter lower_case_table_names Catalog harus diatur ke true.

      • Jika parameter lower_case_table_names FE diatur ke 0, parameter Catalog dapat diatur ke true atau false.

    • Untuk SelectDB 4.0:

      • Jika parameter lower_case_table_names FE diatur ke 0 atau 2, nama database, tabel, dan kolom tidak diubah.

      • Jika parameter lower_case_table_names FE diatur ke 1, nama tabel diubah menjadi huruf kecil, tetapi nama database dan kolom tidak.

    only_specified_database

    Tidak

    "false"

    Menentukan apakah hanya akan menyinkronkan database yang ditentukan.

    true: Hanya menyinkronkan database sumber data yang ditentukan dalam URL JDBC.

    false: Menyinkronkan semua database dalam URL JDBC.

    include_database_list

    Tidak

    ""

    Ketika only_specified_database=true, menentukan beberapa database untuk disinkronkan, dipisahkan koma. Nama database bersifat case-sensitive.

    exclude_database_list

    Tidak

    ""

    Ketika only_specified_database=true, menentukan beberapa database yang tidak disinkronkan, dipisahkan koma. Nama database bersifat case-sensitive.

    meta_names_mapping

    Tidak

    ""

    Jika sumber data eksternal memiliki nama yang sama tetapi berbeda hanya dalam huruf besar/kecil, seperti DORIS dan doris, Doris akan mengembalikan error saat mengkueri Catalog karena ambiguitas. Dalam kasus ini, Anda perlu mengonfigurasi parameter meta_names_mapping untuk menyelesaikan konflik.

    Untuk informasi selengkapnya, lihat Pengaturan sensitivitas huruf besar/kecil.

    Penting

    Parameter ini hanya berlaku untuk SelectDB 4.0.

  3. Lihat Catalog.

    SHOW CATALOGS; -- Periksa apakah CATALOG berhasil dibuat.

    Hasil berikut dikembalikan.

    +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+
    | CatalogId    | CatalogName  | Type     | IsCurrent | CreateTime              | LastUpdateTime      | Comment                |
    +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+
    | 436009309195 | doris_catalog | jdbc      |           | 2024-08-06 17:09:08.058 | 2024-07-19 18:04:37 |                        |
    |            0 | internal     | internal | yes       | UNRECORDED              | NULL                | Doris internal catalog |
    +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+
  4. (Opsional) Beralih ke Catalog eksternal doris_catalog.

    Anda dapat melihat dan mengakses data di Catalog eksternal doris_catalog dengan cara yang sama seperti Catalog internal.

    Catatan

    Saat ini, ApsaraDB for SelectDB hanya mendukung operasi baca pada data di Catalog eksternal.

    SWITCH doris_catalog;
  5. (Opsional) Beralih ke Catalog internal.

    Jika Anda tidak melakukan Langkah 4, lewati langkah ini.

    SWITCH internal;
  6. (Opsional) Buat database.

    Jika Anda sudah membuat database tujuan, lewati langkah ini.

    CREATE database test_db;
  7. Beralih ke database tujuan.

    USE test_db;
  8. Buat tabel.

    Jika Anda sudah memiliki tabel tujuan, periksa apakah tipe data kolom tujuan sesuai dengan tipe data kolom sumber di Doris.

    Jika Anda belum memiliki tabel tujuan, pastikan tipe data kolom tujuan sesuai dengan tipe data kolom sumber di Doris saat membuat tabel.

    Untuk informasi selengkapnya tentang pemetaan tipe, lihat Pemetaan tipe.

    CREATE TABLE test_doris2SelectDB
    (
        id int,
        name string,
        age int
    )
    DISTRIBUTED BY HASH(id) BUCKETS 4
    PROPERTIES("replication_num" = "1");
  9. Migrasikan data.

    INSERT INTO test_doris2SelectDB SELECT *  FROM doris_catalog.doris_db.doris_t;
  10. Periksa status impor data.

    SELECT *  FROM test_doris2SelectDB;

Panduan migrasi data inkremental

Di lingkungan produksi, data Doris mencakup data historis dan data inkremental. Data biasanya dimigrasikan dari Doris ke SelectDB untuk menyalin data ke gudang data guna percepatan kueri. Anda dapat menggunakan salah satu metode berikut untuk migrasi data inkremental:

  • Menulis salinan data ke SelectDB secara paralel saat Anda menulis data ke Doris.

  • Menggunakan pekerjaan periodik untuk membaca data terpartisi dari Doris dan menulisnya ke SelectDB.