Setelah mengonfigurasi katalog Fluss, Anda dapat langsung membaca metadata Fluss di Konsol pengembangan Realtime Compute tanpa perlu mendaftarkan tabel Fluss secara manual. Hal ini mempercepat pengembangan pekerjaan dan menjaga keakuratan data. Topik ini menjelaskan cara membuat, melihat, menggunakan, dan menghapus katalog Fluss.
Prasyarat
-
Kluster Fluss telah dibuat. Untuk informasi selengkapnya, lihat Buat kluster Fluss.
-
Kluster Fluss dan ruang kerja Flink berada di wilayah yang sama serta dapat saling terhubung melalui jaringan, baik dalam VPC yang sama maupun melalui konektivitas jaringan yang telah dikonfigurasi.
Batasan
-
Katalog tidak dapat dimodifikasi. Untuk mengubahnya, hapus katalog yang ada dan buat kembali.
-
Katalog yang dibuat dengan metode password terhubung ke kluster Fluss sebagai administrator. Semua pekerjaan yang menggunakan katalog ini mengakses data dengan izin administrator, sehingga akses data tidak dapat diisolasi per pengguna.
-
Katalog yang dibuat dengan metode tanpa password melakukan otentikasi izin berdasarkan identitas pengguna saat ini. Ketika pengguna berbeda berbagi katalog yang sama, setiap pengguna hanya dapat mengakses data yang telah diizinkan untuknya di Fluss.
Buat Katalog Fluss
Cara membuat katalog bergantung pada versi kluster Fluss:
-
Kluster Fluss sebelum versi 0.9-ali-5.0: hanya metode password yang didukung. Anda harus menyediakan username dan password administrator.
-
Kluster Fluss versi 0.9-ali-5.0 atau lebih baru: metode tanpa password direkomendasikan. Tidak diperlukan username atau password, dan izin diautentikasi secara otomatis berdasarkan identitas pengguna saat ini. Metode password masih berfungsi tetapi tidak direkomendasikan.
Setelah katalog dibuat, konfigurasinya tidak dapat dimodifikasi. Untuk mengubahnya, hapus katalog tersebut dan buat kembali.
Metode tanpa password
Berlaku untuk kluster Fluss versi 0.9-ali-5.0 atau lebih baru.
-
Login ke Konsol Realtime Compute.
-
Di kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi sebelah kiri, klik .
Di kotak dialog Create Catalog, klik tab Built-in Catalog, pilih Fluss dari daftar Catalog type, lalu klik Next.
-
Konfigurasikan parameter.
Parameter
Description
Required
Remarks
name
Nama katalog Fluss.
Yes
Masukkan nama kustom dalam bahasa Inggris.
cluster
Nama kluster Fluss.
Yes
Pilih kluster Fluss yang sudah ada dari daftar drop-down. Alamat koneksi dan informasi autentikasi dikonfigurasi secara otomatis, sehingga Anda tidak perlu memasukkan username atau password.
-
Klik Confirm. Setelah katalog dibuat, Anda dapat melihatnya di bawah Catalogs.
Untuk katalog yang dibuat dengan metode tanpa password, izin pada kluster Fluss diautentikasi secara otomatis berdasarkan identitas pengguna saat ini ketika pekerjaan Flink dijalankan. Ketika pengguna berbeda berbagi katalog yang sama, setiap pengguna hanya dapat mengakses data yang telah diizinkan untuknya di Fluss, sehingga Anda tidak perlu membuat katalog terpisah untuk setiap pengguna.
Metode password
Berlaku untuk kluster Fluss sebelum versi 0.9-ali-5.0.
Console
-
Login ke Konsol Realtime Compute.
-
Di kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi sebelah kiri, klik .
Di kotak dialog Create Catalog, klik tab Built-in Catalog, pilih Fluss dari daftar Catalog type, lalu klik Next.
-
Konfigurasikan parameter.
Parameter
Description
Required
Remarks
name
Nama katalog Fluss.
Yes
Masukkan nama kustom dalam bahasa Inggris.
cluster
Nama kluster Fluss.
No
Pilih kluster Fluss yang sudah ada dari daftar drop-down.
bootstrap.serverskemudian diisi secara otomatis.default-database
Nama database yang akan dihubungi secara default.
No
Nilai default-nya adalah
fluss, yang telah diisi sebelumnya.bootstrap.servers
Daftar alamat server kluster Fluss.
Yes
Pisahkan beberapa alamat dengan koma (,). Nilainya diisi secara otomatis setelah Anda memilih kluster, dan Anda juga dapat memasukkannya secara manual.
client.security.sasl.username
Username administrator instans Fluss.
Yes
Anda dapat melihatnya di halaman detail kluster di konsol Fluss.
client.security.sasl.password
Password administrator instans Fluss.
Yes
Anda dapat melihatnya di halaman detail kluster di konsol Fluss.
-
Klik Confirm. Setelah katalog dibuat, Anda dapat melihatnya di bawah Catalogs.
SQL
Metode SQL bergantung pada session cluster, dan versi session cluster harus VVR 11.7 atau lebih baru. Jika versinya lebih lama dari VVR 11.7, Anda tidak dapat membuat katalog menggunakan SQL. Gunakan konsol sebagai gantinya.
Di editor Scripts, masukkan pernyataan berikut.
CREATE CATALOG fluss_catalog WITH (
'type' = 'fluss',
'bootstrap.servers' = '<bootstrap.servers>',
'default-database' = 'fluss',
'client.security.protocol' = 'SASL',
'client.security.sasl.mechanism' = 'PLAIN',
'client.security.sasl.username' = '<username>',
'client.security.sasl.password' = '<password>'
);
Setelah memasukkan pernyataan tersebut, klik Run di pojok kanan atas untuk membuat katalog.
Tabel berikut menjelaskan parameter-parameter tersebut.
|
Parameter |
Description |
Required |
Remarks |
|
type |
Jenis katalog. |
Yes |
Nilai tetap: |
|
bootstrap.servers |
Daftar alamat server kluster Fluss. |
Yes |
Anda dapat melihatnya di halaman detail kluster di konsol Fluss. |
|
default-database |
Nama database yang akan dihubungi secara default. |
No |
Nilai default-nya adalah |
|
client.security.protocol |
Protokol otentikasi keamanan. |
Yes |
Nilai tetap: |
|
client.security.sasl.mechanism |
Mekanisme autentikasi SASL. |
Yes |
Nilai tetap: |
|
client.security.sasl.username |
Username administrator instans Fluss. |
Yes |
Anda dapat melihatnya di halaman detail kluster di konsol Fluss. |
|
client.security.sasl.password |
Password administrator instans Fluss. |
Yes |
Anda dapat melihatnya di halaman detail kluster di konsol Fluss. |
Buat katalog kustom
Fluss melakukan iterasi lebih cepat daripada Realtime Compute for Apache Flink. Topik ini menyediakan paket katalog kustom terbaru. Anda dapat menggunakannya untuk mencoba fitur katalog Fluss yang belum dirilis bersama versi VVR.
Gunakan katalog kustom hanya ketika fitur Fluss yang Anda butuhkan bergantung pada versi VVR yang belum dirilis. Dalam semua kasus lainnya, gunakan katalog Fluss bawaan.
Katalog kustom hanya dapat dibuat dengan mengunggah file JAR di konsol. Setelah dibuat, Anda menggunakannya dengan cara yang sama seperti katalog Fluss bawaan.
-
Unduh file JAR katalog kustom: fluss-ali-vvr-11-0.9-ali-7.1.jar
-
Di kotak dialog Create Catalog, klik tab Custom Catalog.
-
Klik Create Custom Catalog Type, unggah file JAR yang telah diunduh, lalu klik Next.
-
Setelah file JAR dimuat, atur Catalog Type menjadi
fluss-latestdan klik OK. -
Pilih katalog ini, lalu klik Next untuk membuat katalog kustom.
CREATE CATALOG fluss_catalog WITH ( 'type' = 'fluss-latest', 'bootstrap.servers' = '<bootstrap.servers>', 'default-database' = 'fluss', 'client.security.protocol' = 'SASL', 'client.security.sasl.mechanism' = 'PLAIN', 'client.security.sasl.username' = '<username>', 'client.security.sasl.password' = '<password>' );Parameter
Description
Required
Remarks
type
Jenis katalog.
Yes
Nilai tetap:
fluss-latest.bootstrap.servers
Daftar alamat server kluster Fluss.
Yes
Anda dapat melihatnya di halaman detail kluster di konsol Fluss.
default-database
Nama database yang akan dihubungi secara default.
No
Nilai default-nya adalah
fluss.client.security.protocol
Protokol otentikasi keamanan.
Yes
Nilai tetap:
SASL.client.security.sasl.mechanism
Mekanisme autentikasi SASL.
Yes
Nilai tetap:
PLAIN.client.security.sasl.username
Username administrator instans Fluss.
Yes
Anda dapat melihatnya di halaman detail kluster di konsol Fluss.
client.security.sasl.password
Kata sandi administrator instance Fluss.
Yes
Lihat Katalog Fluss
Setelah katalog Fluss dikonfigurasi, lakukan langkah-langkah berikut untuk melihat metadata Fluss.
-
Login ke Konsol Realtime Compute.
-
Di kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi sebelah kiri, klik Catalogs.
-
Di halaman Catalog List, lihat nama dan jenis katalog.
-
Klik View untuk melihat database dan tabel dalam katalog target.
Gunakan Katalog Fluss
Buat Tabel Fluss
Setelah katalog Fluss dikonfigurasi, Anda dapat mereferensikan informasi tabel katalog Fluss dalam pekerjaan. Anda tidak perlu mendeklarasikan DDL tabel ketika tabel digunakan sebagai tabel sumber, tabel hasil, atau tabel dimensi.
Di editor Scripts, masukkan pernyataan CREATE TABLE berikut.
Sintaks:
CREATE TABLE `${catalog_name}`.`${db_name}`.`${table_name}` (
...
);
Contoh:
-- Buat tabel primary key
CREATE TABLE `fluss_catalog`.`fluss`.`product` (
shop_id BIGINT,
user_id BIGINT,
num_orders INT,
total_amount INT,
PRIMARY KEY (shop_id, user_id) NOT ENFORCED
) WITH (
'bucket.num' = '4'
);
-- Buat tabel log
CREATE TABLE `fluss_catalog`.`fluss`.`orders` (
order_id BIGINT,
item_id BIGINT,
amount INT,
address STRING
);
Anda juga dapat beralih ke katalog dan database target terlebih dahulu, lalu membuat tabel:
USE CATALOG fluss_catalog;
USE fluss;
CREATE TABLE product (
shop_id BIGINT,
user_id BIGINT,
num_orders INT,
total_amount INT,
PRIMARY KEY (shop_id, user_id) NOT ENFORCED
) WITH (
'bucket.num' = '4'
);
Baca dari dan tulis ke Tabel Fluss
Tulis data dari tabel sumber ke tabel Fluss.
Sintaks:
INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
SELECT ...
FROM ${other_source_table};
Contoh:
INSERT INTO `fluss_catalog`.`fluss`.`product`
SELECT shop_id, user_id, num_orders, total_amount
FROM source_table;
Baca data dari tabel Fluss dan tulis ke tabel hasil.
Sintaks:
INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`;
Contoh:
INSERT INTO sink_table
SELECT shop_id, user_id, num_orders, total_amount
FROM `fluss_catalog`.`fluss`.`product`;
Hapus Katalog Fluss
Menghapus katalog Fluss tidak memengaruhi pekerjaan yang sedang berjalan, tetapi memengaruhi pekerjaan yang belum dideploy atau yang perlu di-suspend dan dilanjutkan. Lakukan dengan hati-hati.
Console
-
Login ke Konsol Realtime Compute.
-
Di kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi sebelah kiri, klik Catalogs.
-
Di halaman Catalog List, klik Delete di kolom Actions katalog target.
-
Di kotak dialog yang muncul, klik Delete.
-
Setelah penghapusan selesai, periksa apakah katalog target telah dihapus dari bagian Catalogs di sebelah kiri.
SQL
Di editor Scripts, masukkan pernyataan berikut.
DROP CATALOG ${catalog_name};
${catalog_name} adalah nama katalog Fluss yang akan dihapus, sebagaimana ditampilkan di Konsol pengembangan Realtime Compute.
Pilih pernyataan yang menghapus katalog, lalu klik Run di pojok kanan atas.
Di bagian Catalogs sebelah kiri, periksa apakah katalog target telah dihapus.