Katalog StarRocks memungkinkan Anda mengakses metadata StarRocks—database, tabel, dan partisi—secara langsung di Konsol pengembangan Realtime Compute for Apache Flink tanpa perlu menulis pernyataan DDL secara manual untuk setiap tabel. Flink memetakan tabel StarRocks secara otomatis sehingga Anda dapat segera melakukan kueri atau menulis data.
Topik ini mencakup cara membuat, melihat, menggunakan, dan menghapus katalog StarRocks.
Batasan
-
Katalog StarRocks memerlukan versi engine vvr-6.0.6-flink-1.15 atau yang lebih baru.
-
Katalog StarRocks bersifat read-only terhadap skema: Anda tidak dapat membuat atau memodifikasi tabel StarRocks melalui katalog.
Buat katalog StarRocks
Tersedia dua metode: antarmuka UI Konsol dan Flink SQL. Metode UI direkomendasikan.
Buat katalog StarRocks di Konsol
-
Login ke Konsol Realtime Compute for Apache Flink. Temukan ruang kerja yang ingin Anda kelola dan klik Console pada kolom Actions.
-
Di panel navigasi sebelah kiri, klik Catalogs.
-
Pada halaman Catalog List, klik Create Catalog. Di wizard Create Catalog, pilih StarRocks pada tab Built-in Catalog, lalu klik Next.
-
Konfigurasikan parameter katalog.
PentingKonfigurasi katalog StarRocks tidak dapat diubah setelah dibuat. Untuk mengganti pengaturan apa pun, hapus katalog yang ada dan buat katalog baru.
Parameter Deskripsi Wajib Catatan catalog nameNama katalog StarRocks. Ya Hanya huruf kecil dan angka. Tanda hubung (-), garis bawah (_), dan huruf kapital tidak diperbolehkan. endpointTitik akhir node FrontEnd (FE). Ya Format: jdbc:mysql://ip:port. Port JDBC default adalah 9030.dbnameDatabase StarRocks default yang akan dihubungi. Ya — usernameUsername untuk mengakses StarRocks. Ya — passwordPassword untuk mengakses StarRocks. Ya Gunakan variabel alih-alih password dalam teks biasa untuk menghindari eksposur kredensial. Lihat Manage variables. 
-
Klik Confirm.
Katalog tersebut muncul di halaman Catalog List.
Buat katalog StarRocks menggunakan Flink SQL
Di editor SQL pada halaman Scripts, masukkan pernyataan CREATE CATALOG, pilih pernyataan tersebut, lalu klik Run di sisi kiri.
CREATE CATALOG <catalogname> WITH (
'type' = 'starrocks',
'endpoint' = '<ip>:<port>',
'username' = '<userName>',
'password' = '<password>',
'dbname' = '<dbname>'
);
Opsi konfigurasi berbeda tergantung pada versi VVR Anda.
VVR 11+
| Opsi | Deskripsi | Wajib | Catatan |
|---|---|---|---|
catalogname |
Nama katalog StarRocks. | Ya | Hanya huruf kecil (a–z) dan angka (0–9). |
type |
Jenis konektor. | Ya | Atur ke starrocks. |
endpoint |
Titik akhir FrontEnd (FE). | Tidak | Format: jdbc:mysql://ip:port. Port default: 9030. Gunakan opsi ini untuk menghindari konfigurasi terpisah untuk jdbc-url dan http-url. |
jdbc-url |
URL JDBC untuk server MySQL FE. | Tidak | Pisahkan beberapa alamat dengan koma. Format: jdbc:mysql://<fe_host1>:<fe_query_port1>,<fe_host2>:<fe_query_port2>. Harus digunakan bersama dengan http-url. |
http-url |
URL HTTP untuk server HTTP FE. | Tidak | Pisahkan beberapa alamat dengan titik koma. Format: <fe_host1>:<fe_http_port1>;<fe_host2>:<fe_http_port2>. Harus digunakan bersama dengan jdbc-url. |
username |
Username untuk mengakses StarRocks. | Ya | — |
password |
Password untuk mengakses StarRocks. | Ya | Gunakan variabel alih-alih nilai teks biasa. Lihat Namespace variables. |
dbname |
Database default yang akan dihubungi. | Tidak | Setara dengan default-database. Gunakan salah satu saja. |
default-database |
Database default yang akan dihubungi. | Tidak | Alias kompatibilitas untuk dbname. Gunakan salah satu saja. |
table.num-buckets |
Jumlah bucket default per partisi untuk tabel yang dibuat melalui katalog. | Tidak | — |
table.char-expand-multiple |
Pengali yang diterapkan pada panjang kolom VARCHAR dan CHAR saat membuat tabel melalui katalog. |
Tidak | Default: 4. |
table.binary-padding |
Jumlah karakter yang ditambahkan ke panjang kolom VARBINARY dan BINARY saat membuat tabel melalui katalog. |
Tidak | Default: 2. |
table.key-type |
Jenis tabel untuk tabel yang dibuat melalui katalog. | Tidak | Nilai yang valid: PRI (default, tabel kunci primer), UNI (tabel kunci unik), AGG (tabel agregat), DUP (tabel kunci duplikat). |
table.keys |
Bidang kunci untuk tabel yang dibuat melalui katalog. | Tidak | — |
table.distribution-keys |
Kolom distribusi (kunci bucket) untuk tabel yang dibuat melalui katalog. | Tidak | Jika tidak ditentukan, tabel kunci primer menggunakan kunci primer sebagai kunci bucket secara default. Penting Jangan atur parameter ini ke string kosong ( |
table.enable-null-primary-key |
Apakah Flink memperlakukan kolom kunci primer nullable di StarRocks sebagai non-nullable. | Tidak | Nilai yang valid: false (default), true. Saat diatur ke true, pastikan data hulu tidak memiliki nilai NULL di kolom kunci primer untuk menghindari perilaku tak terduga. |
VVR 8 dan sebelumnya
| Opsi | Deskripsi | Wajib | Catatan |
|---|---|---|---|
catalogname |
Nama katalog StarRocks. | Ya | Hanya huruf kecil (a–z) dan angka (0–9). |
type |
Jenis konektor. | Ya | Atur ke starrocks. |
endpoint |
Titik akhir FrontEnd (FE). | Ya | Format: jdbc:mysql://ip:port. Port default: 9030. |
username |
Username untuk mengakses StarRocks. | Ya | — |
password |
Password untuk mengakses StarRocks. | Ya | Gunakan variabel alih-alih nilai teks biasa. Lihat Namespace variables. |
dbname |
Database default yang akan dihubungi. | Ya | — |
Lihat katalog StarRocks
-
Login ke Konsol Realtime Compute for Apache Flink. Temukan ruang kerja yang Anda inginkan dan klik Console pada kolom Actions.
-
Di panel navigasi sebelah kiri, klik Catalogs.
-
Di halaman Catalog List, temukan katalog tersebut. Kolom Name dan Type menampilkan detail dasarnya.
CatatanUntuk menjelajahi database dan tabel di dalam katalog, klik View pada kolom Actions.
Gunakan katalog StarRocks
Katalog mengekspos data StarRocks sebagai namespace tiga tingkat: catalog_name.db_name.table_name. Rujuk tabel dalam Flink SQL menggunakan identifier yang diapit backtick pada setiap tingkat.
| Tingkat namespace Flink | Padanan StarRocks |
|---|---|
| Nama katalog | Didefinisikan hanya di Flink |
| Nama database | Nama database StarRocks |
| Nama tabel | Nama tabel StarRocks |
Baca data dari tabel StarRocks
VVR 11+
INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`
VVR 8 dan sebelumnya
Petunjuk OPTIONS diperlukan untuk menentukan parameter konektor untuk tabel sumber.
INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`
/*+
OPTIONS('connector' = 'starrocks', 'jdbc-url' = 'jdbc:mysql://ip:port', 'scan-url' = 'ip:port')
*/
Tulis data ke tabel StarRocks
VVR 11+
INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
SELECT ...
FROM ${other_source_table}
VVR 8 dan sebelumnya
Petunjuk OPTIONS diperlukan untuk menentukan parameter konektor untuk tabel hasil.
INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
/*+
OPTIONS('connector' = 'starrocks', 'jdbc-url' = 'jdbc:mysql://ip:port', 'load-url' = 'ip:port', 'sink.buffer-flush.interval-ms' = '5000', 'sink.properties.row_delimiter' = '\x02', 'sink.properties.column_separator' = '\x01')
*/
SELECT ...
FROM ${other_source_table}
Gunakan CTAS atau CDAS untuk menulis ke StarRocks
CTAS (CREATE TABLE AS SELECT) dan CDAS (CREATE DATABASE AS DATABASE) memungkinkan Anda membuat tabel atau database StarRocks dari sumber yang sudah ada dalam satu pernyataan.
USE CATALOG sr_catalog;
CREATE TABLE IF NOT EXISTS `${table_name}`
WITH (
...
) AS TABLE ${other_source_table};
CREATE DATABASE IF NOT EXISTS `${db_name}`
WITH (
...
) AS DATABASE ${other_source_database};
Untuk panduan lengkap, lihat Ingest data from MySQL to StarRocks with Flink.
Hapus katalog StarRocks
Menghapus katalog tidak memengaruhi penerapan yang sedang Berjalan. Namun, penerapan yang belum dipublikasikan atau yang perlu dihentikan sementara akan terpengaruh. Lanjutkan dengan hati-hati.
Tersedia dua metode: antarmuka UI Konsol dan Flink SQL. Metode UI direkomendasikan.
Hapus katalog StarRocks di Konsol
-
Login ke Konsol Realtime Compute for Apache Flink. Temukan ruang kerja yang Anda inginkan dan klik Console pada kolom Actions.
-
Di panel navigasi sebelah kiri, klik Catalogs.
-
Di halaman Catalog List, temukan katalog tersebut dan klik Delete pada kolom Actions.
-
Di dialog konfirmasi, klik Delete.
Katalog tersebut dihapus dari panel Catalogs di navigasi sebelah kiri.
Hapus katalog StarRocks menggunakan Flink SQL
Di editor SQL pada halaman Scripts, masukkan pernyataan berikut, klik kanan pernyataan tersebut, lalu pilih Run.
DROP CATALOG `<catalog name>`;
Ganti <catalog name> dengan nama katalog yang ingin Anda hapus.
Setelah pernyataan dijalankan, verifikasi bahwa katalog telah dihapus dengan memeriksa panel Catalogs di navigasi sebelah kiri.