Sumber data StarRocks memungkinkan Anda membaca dan menulis data ke StarRocks. Topik ini menjelaskan kemampuan yang didukung oleh DataWorks untuk sinkronisasi data StarRocks.
Versi yang didukung
Semua versi EMR Serverless StarRocks didukung.
E-MapReduce pada ECS: StarRocks 2.1.
StarRocks Community Edition didukung.
CatatanDataWorks hanya terhubung ke StarRocks melalui jaringan internal. Oleh karena itu, Community Edition StarRocks harus dideploy pada E-MapReduce di ECS.
Jika Anda mengalami masalah kompatibilitas dengan sumber data ini, kirimkan tiket.
Batasan
Untuk sinkronisasi real-time seluruh database dari MySQL ke StarRocks, tabel tujuan StarRocks harus menggunakan model primary key.
Saat melakukan sinkronisasi real-time seluruh database dari MySQL ke StarRocks, operasi DDL selain TRUNCATE tidak didukung. Anda dapat mengabaikan operasi DDL tersebut atau mengonfigurasi tugas agar melaporkan error.
Tipe data yang didukung
Hanya tipe data numerik, string, dan tanggal yang didukung.
Konektivitas jaringan
EMR Serverless StarRocks
Untuk memastikan konektivitas jaringan, Anda harus menambahkan alamat IP kelompok sumber daya DataWorks ke daftar izin (allowlist) alamat IP instans EMR Serverless StarRocks.
Untuk alamat IP kelompok sumber daya DataWorks, lihat Konfigurasi umum: Tambahkan alamat IP ke allowlist.
Anda dapat menambahkan alamat IP ke allowlist instans EMR Serverless StarRocks di Konsol EMR.

StarRocks yang dikelola sendiri
Pastikan kelompok sumber daya DataWorks dapat mengakses query port, FE port, dan BE port instans StarRocks Anda. Port defaultnya 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 Manajemen sumber data. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami makna parameter saat menambahkan sumber data.
Pilih mode koneksi untuk StarRocks berdasarkan lingkungan jaringan Anda:
Kasus penggunaan 1: Koneksi jaringan internal (disarankan)
Koneksi jaringan internal menyediakan latensi rendah dan keamanan tinggi tanpa memerlukan akses jaringan publik.
Kasus penggunaan: Instans StarRocks dan kelompok sumber daya Serverless berada dalam VPC yang sama.
Mode instans Alibaba Cloud dan mode Connection string didukung:
Pilih ApsaraDB for RDS: Pilih langsung instans StarRocks dalam VPC yang sama. Sistem secara otomatis mendapatkan informasi koneksi.
Pilih User-created Data Store with Public IP Addresses: Masukkan secara manual alamat internal atau alamat IP, port, dan Load URL instans.
Kasus penggunaan 2: Koneksi jaringan publik
Transfer data melalui jaringan publik memiliki risiko keamanan. Gunakan kontrol keamanan seperti allowlist IP dan autentikasi berbasis IP.
Kasus penggunaan: Anda perlu mengakses instans StarRocks melalui jaringan publik, misalnya untuk akses lintas wilayah atau dari lingkungan on-premises.
Hanya mode Connection string yang didukung. Pastikan akses jaringan publik diaktifkan untuk instans StarRocks Anda:
Pilih User-created Data Store with Public IP Addresses: Masukkan secara manual alamat publik atau alamat IP, port, dan Load URL instans.
Secara default, kelompok sumber daya Serverless tidak dapat mengakses jaringan publik. Untuk terhubung ke instans StarRocks menggunakan titik akhir publik, Anda harus mengonfigurasi NAT Gateway dan alamat IP elastis (EIP) untuk VPC yang terikat guna mengaktifkan akses jaringan publik. Anda juga harus memastikan bahwa kelompok sumber daya Serverless dapat mengakses query port, FE port, dan BE port instans StarRocks Anda. Port defaultnya adalah 9030, 8030, dan 8040.
Jika Anda menggunakan Alibaba Cloud EMR StarRocks Serverless, atur Host Address/IP Address ke Internal Endpoint atau Public network address, dan port ke a query port.
FE: Anda dapat memperoleh informasi FE di halaman detail instans.

Database: Setelah terhubung ke instans menggunakan EMR StarRocks Manager, Anda dapat melihat database yang sesuai di SQL Editor atau Metadata Management.
CatatanUntuk membuat database, jalankan perintah SQL langsung di editor SQL.
Pengembangan tugas sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Sinkronisasi batch untuk satu tabel
Sumber data yang didukung: Semua jenis sumber data yang didukung oleh modul Data Integration.
Prosedur: Untuk informasi lebih lanjut, lihat Gunakan UI Tanpa Kode dan Gunakan Editor Kode.
Untuk daftar lengkap parameter dan contoh kode untuk Editor Kode, lihat Lampiran: Kode dan parameter.
Sinkronisasi real-time untuk satu tabel
Sumber data yang didukung: Kafka
Panduan: Konfigurasikan tugas sinkronisasi real-time seluruh database
Sinkronisasi batch untuk seluruh database
Sumber data yang didukung: MySQL
Panduan: Konfigurasikan tugas sinkronisasi real-time seluruh database
Sinkronisasi real-time untuk seluruh database
Sumber data yang didukung: MySQL, Oracle, dan PolarDB
Panduan: Konfigurasikan tugas sinkronisasi real-time seluruh database
Lampiran: Kode dan parameter
Konfigurasikan tugas sinkronisasi batch menggunakan editor kode
Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Gunakan editor kode. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Contoh kode Reader
{
"stepType": "starrocks",
"parameter": {
"selectedDatabase": "didb1",
"datasource": "starrocks_datasource",
"column": [
"id",
"name"
],
"where": "id>100",
"table": "table1",
"splitPk": "id"
},
"name": "Reader",
"category": "reader"
}Parameter Reader
Parameter | Deskripsi | Wajib | Default |
datasource | Nama sumber data StarRocks. | Ya | Tidak ada |
selectedDatabase | Nama database StarRocks. | Tidak | Nama database yang Anda tentukan saat mengonfigurasi sumber data StarRocks. |
column | Kumpulan nama kolom dalam tabel yang dikonfigurasi untuk disinkronkan. Jika Anda ingin menambahkan hint SET_VAR saat membaca data dari StarRocks, Anda dapat menambahkan hint tersebut sebelum nama kolom pertama dalam column. Misalnya, jika kolom yang akan disinkronkan adalah id dan Anda ingin menambahkan | Ya | Tidak ada |
where | Dalam skenario bisnis nyata, filter umum untuk menyinkronkan data hari ini adalah menentukan klausa where sebagai
| Tidak | Tidak ada |
table | Tabel sumber. | Ya | Tidak ada |
splitPk | Saat StarRocks Reader mengekstraksi data, Anda dapat menentukan parameter splitPk untuk membagi data berdasarkan bidang yang diberikan untuk splitPk. Hal ini memulai tugas sinkronisasi data konkuren dan meningkatkan efisiensi. Kami menyarankan menggunakan primary key tabel sebagai kunci pemisah karena primary key biasanya terdistribusi merata, yang membantu mencegah hot spot data pada shard yang dihasilkan. | Tidak | Tidak ada |
Contoh kode Writer
{
"stepType": "starrocks",
"parameter": {
"selectedDatabase": "didb1",
"loadProps": {
"row_delimiter": "",
"column_separator": ""
},
"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 Writer
Parameter | Deskripsi | Wajib | Default |
datasource | Nama sumber data StarRocks. | Ya | Tidak ada |
selectedDatabase | Nama database StarRocks. | Tidak | Nama database yang Anda tentukan saat mengonfigurasi sumber data StarRocks. |
loadProps | Parameter permintaan untuk pekerjaan StarRocks StreamLoad. Anda dapat mengonfigurasi parameter impor untuk mengimpor data dalam format CSV. Jika tidak diperlukan konfigurasi khusus, atur parameter ini ke
Jika data Anda berisi koma atau baris baru, Anda harus menentukan karakter lain sebagai pembatas. Contoh berikut menunjukkan cara menggunakan karakter khusus: StreamLoad juga mendukung impor data dalam format JSON. Anda dapat mengatur parameter format ke json: Parameter berikut dapat dikonfigurasi untuk format JSON:
| Ya | Tidak ada |
column | Kolom tujuan untuk menulis data. | Ya | Tidak ada |
loadUrl | Masukkan IP FrontEnd StarRocks dan port HTTP (default adalah | Ya | Tidak ada |
table | Tabel tujuan. | Ya | Tidak ada |
preSql | Pernyataan SQL yang dieksekusi sebelum tugas sinkronisasi dimulai. Misalnya, Anda dapat menggunakan TRUNCATE TABLE tablename untuk menghapus data yang ada di tabel. | Tidak | Tidak ada |
postSql | Pernyataan SQL yang dieksekusi setelah tugas sinkronisasi selesai. | Tidak | Tidak ada |
maxBatchRows | Jumlah maksimum baris per batch tulis. | Tidak | 500000 |
maxBatchSize | Ukuran data maksimum per batch tulis, dalam byte. | Tidak | 5242880 |
strategyOnError | Kebijakan untuk menangani exception selama penulisan batch. Nilai yang valid:
Nilai default: | Tidak | exit |