Topik ini menjelaskan cara menggunakan konektor Tair (Edisi Perusahaan).
Informasi latar belakang
Tair (Kompatibel dengan Redis OSS) adalah layanan database yang kompatibel dengan protokol sistem Redis open source. Tair (Kompatibel dengan Redis OSS) mendukung penyimpanan hibrida antara memori dan hard disk, menyediakan arsitektur hot standby untuk menjamin ketersediaan tinggi, serta menggunakan arsitektur kluster yang dapat diskalakan guna memenuhi kebutuhan bisnis akan throughput tinggi, operasi latensi rendah, dan modifikasi konfigurasi yang fleksibel.
Konektor Tair mendukung hal-hal berikut:
Kategori | Deskripsi |
Tipe yang didukung | Tabel sink |
Mode eksekusi | Hanya mode stream yang didukung. |
Format data | STRING |
Metrik unik |
Catatan Untuk informasi lebih lanjut mengenai metrik tersebut, lihat Metrik. |
Tipe API | SQL |
Pembaruan atau penghapusan data dalam tabel sink | Ya. |
Prasyarat
Instans Tair (Edisi Perusahaan) telah dibuat. Untuk informasi selengkapnya, lihat Langkah 1: Buat instans.
Daftar putih alamat IP telah dikonfigurasi untuk instans Tair (Edisi Perusahaan). Untuk informasi selengkapnya, lihat Langkah 2: Konfigurasi daftar putih.
Batasan
Hanya Realtime Compute for Apache Flink yang menggunakan Ververica Runtime (VVR) versi 6.0.6 atau lebih baru yang mendukung konektor Tair (Edisi Perusahaan).
Konektor Tair (Edisi Perusahaan) tidak mengizinkan Anda mengonfigurasi multiple host.
Sintaksis
Tair (Edisi Perusahaan) mendukung semua struktur data Tair buatan sendiri berdasarkan kompatibilitas dengan struktur data Redis berikut: STRING, LIST, SET, HASHMAP, dan SORTEDSET.
Berikut ini contoh pernyataan DDL.
CREATE TABLE tair_table (
a STRING,
b STRING,
PRIMARY KEY (a) NOT ENFORCED -- Wajib.
) WITH (
'connector'= 'tair',
'host' = '<yourHost>'
);Tair kompatibel dengan struktur data Redis. Untuk informasi lebih lanjut mengenai contoh sintaksis struktur data Redis, lihat Konektor Tair (Kompatibel dengan Redis OSS).
Parameter dalam klausa WITH
Parameter | Deskripsi | Tipe data | Wajib | Nilai default | Keterangan |
connector | Tipe tabel. | String | Ya | None | Nilai bidang statis adalah tair. |
host | Titik akhir server Tair. | String | Ya | None | Kami menyarankan agar Anda menggunakan titik akhir internal. Catatan Koneksi jaringan publik mungkin tidak stabil karena faktor seperti latensi jaringan dan batasan bandwidth. |
mode | Struktur data Tair. | STRING | Ya | None | Nilai yang valid:
Tair mendukung struktur data Redis dan struktur data Tair buatan sendiri. Untuk informasi lebih lanjut mengenai nilai yang valid, lihat Struktur data yang didukung oleh tabel sink ApsaraDB for Redis dan Format struktur data Tair. Catatan
|
port | Nomor port server Tair. | INT | Tidak | 6379 | N/A. |
password | Password yang digunakan untuk mengakses database Tair. | String | Tidak | String kosong | String kosong menunjukkan bahwa tidak ada verifikasi yang dilakukan. |
dbNum | ID database tujuan. | INT | Tidak | 0 | N/A. |
clusterMode | Menentukan apakah akan menggunakan arsitektur kluster. | BOOLEAN | Tidak | false | Nilai yang valid:
|
ignoreDelete | Menentukan apakah pesan retraction diabaikan. | BOOLEAN | Tidak | false | Nilai yang valid:
|
expiration | Waktu hidup (TTL) yang ditentukan untuk kunci dari data yang dimasukkan. | LONG | Tidak | 0 | Nilai 0 menunjukkan bahwa TTL tidak dikonfigurasi. Jika nilai parameter ini lebih besar dari 0, TTL akan dikonfigurasi untuk kunci data yang dimasukkan. Satuan: milidetik. |
expirationAt | Waktu kedaluwarsa absolut yang ditentukan untuk kunci dari data yang dimasukkan. | LONG | Tidak | 0 | Satuan: milidetik. Nilai default: 0. Nilai default menunjukkan bahwa tidak ada waktu kedaluwarsa yang ditentukan. Jika nilai parameter ini lebih besar dari 0 dan parameter expiration diatur ke 0, maka waktu kedaluwarsa absolut akan ditentukan untuk kunci data yang dimasukkan. |
incrMode | Mode sink database Tair. | STRING | Tidak | None | Nilai yang valid:
|
incrValue | Nilai INCR yang ditentukan berdasarkan nilai parameter incrMode. | STRING | Tidak | None | Parameter ini menerima nilai-nilai berikut:
|
fieldExpireMode | Mode kedaluwarsa field dalam TairHash atau skey dalam TairTS. | String | Tidak | None | Nilai yang valid:
|
fieldExpireValue | Waktu kedaluwarsa field dalam TairHash atau skey dalam TairTS. | String | Tidak | None | Nilai yang valid:
|
Pemetaan tipe data
Tipe field Flink | Tipe data Tair |
VARCHAR | STRING |
DOUBLE | DOUBLE |
Format struktur data Tair
Tipe | Format | Perintah |
Jika parameter incrMode diatur ke None, pernyataan DDL memiliki dua kolom.
| | |
Jika parameter incrMode diatur ke int atau float, pernyataan DDL hanya memiliki satu kolom yang berisi kunci bertipe STRING. | | |
Jika parameter incrMode diatur ke dynamic_int atau dynamic_float, pernyataan DDL memiliki dua kolom.
| | |
Jika parameter incrMode diatur ke None, pernyataan DDL memiliki tiga kolom.
| | |
Jika parameter incrMode diatur ke int atau float, pernyataan DDL memiliki dua kolom.
| | |
Jika parameter incrMode diatur ke dynamic_int atau dynamic_float, pernyataan DDL memiliki tiga kolom.
| | |
Jika parameter incrMode diatur ke None, TairZset mendukung pengurutan data multidimensi. TairZset memungkinkan Anda mengurutkan data bertipe DOUBLE dari maksimal 256 dimensi. Oleh karena itu, pernyataan DDL memiliki 3 hingga 258 kolom.
| Catatan Jika Anda ingin mengurutkan data dari beberapa dimensi, pastikan format skor semua dimensi sama. | |
Jika parameter incrMode diatur ke int atau float, pernyataan DDL memiliki dua kolom.
| | |
Jika parameter incrMode diatur ke dynamic_int atau dynamic_float, pernyataan DDL memiliki tiga kolom.
| | |
Parameter incrMode harus diatur ke None. Saat data pertama kali dimasukkan ke tabel sink Tair, kunci TairBloom dengan kapasitas default 100 elemen dan laju error 0,01 akan dibuat. Pernyataan DDL memiliki dua kolom.
| | |
Parameter incrMode harus diatur ke None. Pernyataan DDL memiliki tiga kolom.
| | |
Jika parameter incrMode diatur ke None, pernyataan DDL memiliki empat kolom.
| Catatan Sebelum memasukkan data ke tabel sink Tair, Anda harus membuat indeks dan menambahkan pemetaan. Contoh perintah: | |
Jika parameter incrMode diatur ke int atau float, pernyataan DDL memiliki empat kolom.
| Contoh perintah untuk operasi dokumen: Catatan Sebelum memasukkan data ke tabel sink Tair, Anda harus membuat indeks dan menambahkan pemetaan. Contoh perintah: | |
Jika parameter incrMode diatur ke dynamic_int atau dynamic_float, pernyataan DDL memiliki lima kolom.
| Perintah berikut digunakan untuk operasi dokumen. Catatan Sebelum memasukkan data ke tabel sink Tair, Anda harus membuat indeks dan menambahkan pemetaan. Contoh perintah: | |
Parameter incrMode harus diatur ke None. Pernyataan DDL memiliki dua kolom.
| | |
Parameter incrMode harus diatur ke None. Pernyataan DDL memiliki tiga kolom.
| | |
Parameter incrMode harus diatur ke None. Pernyataan DDL memiliki tiga kolom.
| | |
Parameter incrMode harus diatur ke None. Pernyataan DDL memiliki enam kolom.
| Catatan Sebelum memasukkan data ke tabel sink Tair, Anda harus membuat indeks dan menambahkan pemetaan. Contoh perintah: | |
Jika parameter incrMode diatur ke None, pernyataan DDL memiliki empat kolom.
| | |
Jika parameter incrMode diatur ke float, pernyataan DDL memiliki tiga kolom.
| | |
Jika parameter incrMode diatur ke dynamic_float, pernyataan DDL memiliki empat kolom.
| |
Kode contoh
Kode contoh untuk memasukkan data ke tabel sink Tair dalam mode umum
CREATE TEMPORARY TABLE datagen_stream ( v STRING, p STRING ) WITH ( 'connector' = 'datagen' ); CREATE TEMPORARY TABLE tair_output ( index_name STRING, doc_id STRING, doc STRING, mapping STRING, PRIMARY KEY(index_name) NOT ENFORCED ) WITH ( 'connector' = 'tair', 'mode' = 'tairsearch', 'host' = '${tairHost}', 'port' = '${tairPort}', 'password' = '${password}' ); INSERT INTO tair_output SELECT 'index' as index,v,p,'{"mappings":{"_source":{"enabled":true},"properties":{"product_id":{"type":"keyword","ignore_above":128},"product_name":{"type":"text"}}}}' as mapping FROM datagen_stream;Contoh data yang dimasukkan untuk pola incr
CREATE TEMPORARY TABLE datagen_stream ( v STRING, p STRING ) WITH ( 'connector' = 'datagen' ); CREATE TEMPORARY TABLE tair_output ( key STRING, step STRING, PRIMARY KEY (key) NOT ENFORCED ) WITH ( 'connector' = 'tair', 'mode' = 'tairstring', 'host' = '${tairHost}', 'port' = '${tairPort}', 'password' = '${password}', 'incrMode' = 'dynamic_float', 'incrValue' = 'step' ); INSERT INTO tair_output SELECT * FROM datagen_stream;CREATE TEMPORARY TABLE datagen_stream ( v STRING, p STRING ) WITH ( 'connector' = 'datagen' ); CREATE TEMPORARY TABLE tair_output ( key STRING, PRIMARY KEY (key) NOT ENFORCED ) WITH ( 'connector' = 'tair', 'mode' = 'tairstring', 'host' = '${tairHost}', 'port' = '${tairPort}', 'password' = '${password}', 'incrMode' = 'float', 'incrValue' = '11.11' ); INSERT INTO tair_output SELECT v FROM datagen_stream;Contoh: Data yang ditulis ke tabel sink menggunakan pola fieldExpire
CREATE TEMPORARY TABLE datagen_stream ( v STRING, p STRING, s STRING ) WITH ( 'connector' = 'datagen' ); CREATE TEMPORARY TABLE tair_ouput ( key STRING, field STRING, value STRING, PRIMARY KEY (key) NOT ENFORCED ) WITH ( 'connector' = 'tair', 'mode' = 'tairhash', 'host' = '${tairHost}', 'port' = '${tairPort}', 'password' = '${password}', 'fieldExpireMode' = 'millisecond', 'fieldExpireValue' = '1000' ); INSERT INTO tair_output SELECT v, p, s FROM datagen_stream;