All Products
Search
Document Center

DataWorks:Sumber data StarRocks

Last Updated:Aug 28, 2026

Sumber data StarRocks menyediakan saluran baca-tulis dua arah untuk menyinkronkan data dengan StarRocks menggunakan DataWorks.

Versi yang didukung

  • Mendukung semua versi EMR Serverless StarRocks.

  • Mendukung EMR on ECS: StarRocks versi 2.1.

  • Mendukung StarRocks Community Edition.

    Catatan
    • DataWorks hanya terhubung ke StarRocks melalui VPC. Oleh karena itu, Anda harus men-deploy StarRocks Community Edition pada kluster EMR on ECS.

    • StarRocks Community Edition merupakan platform terbuka. Jika Anda mengalami masalah kompatibilitas, kirimkan tiket untuk mendapatkan dukungan.

Batasan

  • Untuk sinkronisasi real-time seluruh database dari MySQL ke StarRocks, tabel StarRocks tujuan harus menggunakan model primary key.

  • Sinkronisasi real-time seluruh database dari MySQL ke StarRocks tidak mendukung operasi Data Definition Language (DDL) selain TRUNCATE. Untuk operasi DDL lainnya, Anda dapat memilih untuk mengabaikannya atau mengonfigurasi tugas agar melaporkan error.

Tipe data yang didukung

Hanya bidang bertipe numerik, string, dan tanggal yang didukung.

Konektivitas jaringan

EMR Serverless StarRocks

Untuk memastikan konektivitas jaringan, tambahkan alamat IP kelompok sumber daya DataWorks ke daftar putih alamat IP internal instans EMR Serverless StarRocks.

  • Untuk mendapatkan alamat IP kelompok sumber daya DataWorks, lihat Konfigurasi umum: Tambahkan daftar putih.

  • Untuk mengonfigurasi daftar putih instans EMR Serverless StarRocks:

    Pada halaman detail instans, di bagian Basic Information, klik tautan internal IP address whitelist di sebelah security group ID untuk mengonfigurasi daftar putih alamat IP internal. Di bagian FE Details, klik tautan public whitelist di sebelah Public Endpoint untuk mengonfigurasi daftar putih publik.

StarRocks yang dikelola sendiri

Pastikan kelompok sumber daya DataWorks dapat mengakses query port, FE port, dan BE port instans StarRocks Anda. Port-port tersebut biasanya adalah 9030, 8030, dan 8040.

Tambahkan sumber data

Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Konfigurasi sumber data. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.

Pilih mode koneksi untuk StarRocks berdasarkan lingkungan jaringan Anda:

Skenario 1: Koneksi VPC

Koneksi VPC memiliki latensi rendah dan aman, serta tidak memerlukan akses jaringan publik.

  • Kasus penggunaan: Instans StarRocks Anda dan kelompok sumber daya serverless berada dalam VPC yang sama.

  • Mode yang didukung: Mode instans Alibaba Cloud dan mode connection string:

    • Pilih ApsaraDB for RDS: Pilih langsung instans StarRocks dalam VPC yang sama. Sistem secara otomatis mengambil informasi koneksi, sehingga tidak diperlukan konfigurasi manual.

    • Pilih User-created Data Store with Public IP Addresses: Masukkan secara manual endpoint intranet, alamat IP, port, dan Load URL instans.

Skenario 2: Koneksi Internet

Transmisi data melalui internet menimbulkan risiko keamanan. Gunakan kontrol keamanan seperti daftar putih dan kontrol akses berbasis IP.

  • Kasus penggunaan: Anda perlu mengakses instans StarRocks melalui internet, misalnya lintas wilayah atau dari lingkungan lokal.

  • Mode yang didukung: mode connection string (pastikan akses jaringan publik diaktifkan untuk instans StarRocks):

    • Pilih User-created Data Store with Public IP Addresses: Masukkan secara manual endpoint publik, alamat IP, port, dan Load URL instans.

Catatan

Secara default, kelompok sumber daya serverless tidak dapat mengakses internet. Untuk terhubung ke instans StarRocks melalui endpoint publik, konfigurasikan NAT gateway dan EIP untuk VPC terkait. Anda juga harus memastikan bahwa kelompok sumber daya dapat mengakses query port, FE port, dan BE port instans StarRocks, yang biasanya adalah port 9030, 8030, dan 8040.

Jika Anda menggunakan EMR Serverless StarRocks, atur Host Address/IP Address ke Internal Endpoint atau Public network address, dan gunakan query port sebagai port.

  • FE: Anda dapat menemukan informasi ini pada halaman detail instans.

    Di bagian FE Details, temukan public endpoint dan query port (default adalah 9030).

  • Database: Setelah terhubung ke instans menggunakan EMR StarRocks Manager, Anda dapat menemukan database di tampilan SQL Editor atau Metadata Management.

    Catatan

    Untuk membuat database, Anda dapat menjalankan pernyataan SQL langsung di editor SQL.

Tugas sinkronisasi data

Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.

Sinkronisasi batch tabel tunggal

Sinkronisasi real-time tabel tunggal

Sinkronisasi batch seluruh database

Sinkronisasi real-time seluruh database

Contoh skrip dan parameter

Konfigurasi tugas sinkronisasi batch menggunakan editor kode

Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai dengan persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Konfigurasi mode skrip. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.

Contoh skrip Reader

{
    "stepType": "starrocks",
    "parameter": {
        "selectedDatabase": "didb1",
        "datasource": "starrocks_datasource",
        "column": [
            "id",
            "name"
        ],
        "where": "id>100",
        "table": "table1",
        "splitPk": "id"
    },
    "name": "Reader",
    "category": "reader"
}

Parameter skrip Reader

Parameter

Deskripsi

Wajib

Default

datasource

Nama sumber data StarRocks.

Ya

Tidak ada

selectedDatabase

Nama database StarRocks.

Tidak

Nama database yang dikonfigurasi untuk sumber data StarRocks.

column

Kolom tabel sumber yang akan disinkronkan. Untuk menambahkan hint SET_VAR saat membaca data dari StarRocks, tambahkan hint tersebut sebelum nama kolom pertama dalam array kolom. Misalnya, untuk menyinkronkan kolom id dengan hint SET_VAR(enable_spill = true), atur parameter column menjadi [ "/*+ SET_VAR(enable_spill = true)*/ id"].

Ya

Tidak ada

where

Kondisi filter. Misalnya, untuk menyinkronkan hanya data yang dihasilkan pada hari ini, atur kondisi where menjadi gmt_create>${bizdate}.

  • Kondisi where memungkinkan sinkronisasi data inkremental.

  • Jika Anda tidak memberikan klausa where atau membiarkan parameter where kosong, sinkronisasi data penuh akan dilakukan.

Tidak

Tidak ada

table

Tabel sumber dari mana Anda ingin menyinkronkan data.

Ya

Tidak ada

splitPk

Kolom yang digunakan untuk pemecahan data paralel selama sinkronisasi. Menentukan parameter ini meningkatkan kinerja. Untuk hasil terbaik, gunakan primary key tabel, karena kunci yang terdistribusi merata membantu mencegah hot spot data.

Tidak

Tidak ada

Contoh skrip Writer

{
    "stepType": "starrocks",
    "parameter": {
        "selectedDatabase": "didb1",
        "loadProps": {
            "row_delimiter": "\\x02",
            "column_separator": "\\x01"
        },
        "datasource": "starrocks_public",
        "column": [
            "id",
            "name"
        ],
        "loadUrl": [
            "1.1.X.X:8030"
        ],
        "table": "table1",
        "preSql": [
            "truncate table table1"
        ],
        "postSql": [
        ],
        "maxBatchRows": 500000,
        "maxBatchSize": 5242880,
        "strategyOnError": "exit"
    },
    "name": "Writer",
    "category": "writer"
}

Parameter skrip Writer

Parameter

Deskripsi

Wajib

Default

datasource

Nama sumber data StarRocks.

Ya

Tidak ada

selectedDatabase

Nama database StarRocks.

Tidak

Nama database yang dikonfigurasi untuk sumber data StarRocks.

loadProps

Catatan

Saat menulis ke StarRocks dengan Stream Load, kebijakan penulisan (Upsert atau Append) ditentukan oleh model tabel tujuan dan tidak memerlukan konfigurasi. Tabel dengan model primary key menggunakan kebijakan Upsert, sedangkan model lainnya menggunakan kebijakan Append secara default.

Parameter permintaan untuk StarRocks Stream Load. Saat mengimpor data CSV, Anda dapat mengonfigurasi parameter berikut. Jika tidak diperlukan konfigurasi khusus, gunakan {}:

  • column_separator: pemisah kolom untuk impor CSV. Default: \t.

  • row_delimiter: pemisah baris untuk impor CSV. Default: \n. Jika data Anda berisi \t atau \n, Anda harus menentukan karakter lain sebagai pemisah.

  • session_variable: Header HTTP dari StarRocks Stream Load yang mengatur variabel sesi StarRocks selama pemuatan data. Pisahkan beberapa variabel dengan koma (,). Gunakan parameter ini untuk mengontrol perilaku sesi StarRocks selama pemuatan, seperti kelompok komputasi dan periode timeout.

    {"column_separator":"\\x01","row_delimiter":"\\x02","session_variable":"warehouse=qwe,query_timeout=600"}

    Semua pasangan kunci-nilai yang dikonfigurasi dalam loadProps diteruskan ke antarmuka StarRocks Stream Load sebagai Header HTTP. Oleh karena itu, Anda dapat mengonfigurasi parameter header apa pun yang didukung oleh StarRocks Stream Load, seperti session_variable, max_filter_ratio, dan timeout, dalam loadProps.

Stream Load juga mendukung impor data JSON. Untuk melakukannya, konfigurasikan parameter berikut:

{
  "format": "json"
}

Parameter berikut tersedia untuk format JSON:

  • strip_outer_array: menentukan apakah struktur array terluar dipangkas. Nilai yang valid: true dan false. Nilai default: false.

    Data JSON yang akan diimpor mungkin dibungkus dalam tanda kurung luar ([]) yang merepresentasikan array. Dalam kasus ini, atur parameter ini menjadi true. StarRocks kemudian memangkas tanda kurung luar ([]) dan mengimpor setiap array dalam sebagai baris terpisah. Jika diatur menjadi false, StarRocks mengurai seluruh file data JSON sebagai satu array dan mengimpornya sebagai satu baris.

    [{"category":1,"author":2},{"category":3,"author":4}]
    
    • Jika diatur menjadi true, StarRocks mengurai {"category":1,"author":2} dan {"category":3,"author":4} menjadi dua baris dan mengimpornya ke tabel StarRocks tujuan.

    • Jika diatur menjadi false, StarRocks mengurai seluruh array JSON sebagai satu baris dan mengimpornya ke tabel StarRocks tujuan.

  • ignore_json_size: menentukan apakah ukuran body JSON dalam permintaan HTTP diperiksa.

    Catatan

    Secara default, ukuran body JSON dalam permintaan HTTP tidak boleh melebihi 100 MB. Jika ukuran body JSON melebihi 100 MB, pesan error berikut dikembalikan: The size of this batch exceed the max size [104857600] of json type data data [8617627793].Set ignore_json_size to skip check,although it may lead huge memory consuming. Untuk mencegah error ini, Anda dapat menambahkan ignore_json_size: true ke header HTTP untuk melewati pemeriksaan ukuran body JSON.

  • compression: menentukan algoritma kompresi yang digunakan selama transmisi data Stream Load. Algoritma yang didukung: GZIP, BZIP2, LZ4_FRAME, dan ZSTD.

  • strict_mode: menentukan apakah mode ketat diaktifkan.

    Nilai yang valid:

    • true: Mengaktifkan mode ketat. StarRocks memfilter baris yang tidak valid, hanya mengimpor baris yang valid, dan mengembalikan detail tentang data yang tidak valid.

    • false: Menonaktifkan mode ketat. StarRocks mengonversi bidang yang gagal dikonversi menjadi nilai NULL dan mengimpor baris yang berisi nilai NULL tersebut bersama dengan baris data yang valid.

    Nilai default: false.

Ya

Tidak ada

column

Kolom tujuan tempat Anda ingin menyinkronkan data.

Ya

Tidak ada

loadUrl

Alamat IP dan port HTTP node frontend (FE) StarRocks. Port default adalah 8030. Untuk beberapa node FE, tentukan semuanya yang dipisahkan dengan koma (,).

Ya

Tidak ada

table

Tabel tujuan tempat Anda ingin menyinkronkan data.

Ya

Tidak ada

preSql

Pernyataan SQL yang dijalankan sebelum tugas sinkronisasi dimulai. Misalnya, jalankan TRUNCATE TABLE tablename untuk menghapus data yang ada dari tabel tujuan.

Tidak

Tidak ada

postSql

Pernyataan SQL yang dijalankan setelah tugas sinkronisasi selesai.

Tidak

Tidak ada

maxBatchRows

Jumlah maksimum baris yang ditulis per batch.

Tidak

500000

maxBatchSize

Ukuran maksimum data yang ditulis per batch, dalam byte.

Tidak

5242880

strategyOnError

Kebijakan untuk menangani error yang terjadi selama penulisan batch.

Nilai yang valid:

  • exit: Jika terjadi error penulisan, tugas gagal dan keluar.

  • batchDirtyData: Jika terjadi error penulisan, tugas mencatat batch data saat ini sebagai data kotor.

Nilai default: exit.

Tidak

exit