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.
-
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.
CatatanUntuk 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
-
Sumber yang didukung: Semua sumber data yang didukung oleh Data Integration.
-
Untuk informasi lebih lanjut, lihat Antarmuka tanpa kode dan Editor Kode.
-
Untuk daftar lengkap parameter dan contoh skrip Editor Kode, lihat Lampiran: Contoh skrip dan deskripsi parameter.
Sinkronisasi real-time tabel tunggal
-
Sumber yang didukung: Kafka
-
Panduan konfigurasi: Konfigurasi tugas sinkronisasi data real-time
Sinkronisasi batch seluruh database
-
Sumber yang didukung: MySQL
-
Panduan konfigurasi: Konfigurasi tugas sinkronisasi data batch
Sinkronisasi real-time seluruh database
-
Sumber yang didukung: MySQL, Oracle, dan PolarDB
-
Panduan konfigurasi: Konfigurasi tugas sinkronisasi data real-time
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 |
Ya |
Tidak ada |
|
where |
Kondisi filter. Misalnya, untuk menyinkronkan hanya data yang dihasilkan pada hari ini, atur kondisi where menjadi
|
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 {}:
Stream Load juga mendukung impor data JSON. Untuk melakukannya, konfigurasikan parameter berikut:
Parameter berikut tersedia untuk format JSON:
|
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 |
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 |
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:
Nilai default: |
Tidak |
exit |