Topik ini menjelaskan cara menggunakan konektor Hologres untuk menyinkronkan data dalam penerapan ingesti data berbasis YAML.
Latar Belakang
Hologres adalah mesin gudang data real-time yang mendukung penulisan, pembaruan, dan analitik secara real-time dalam skala besar. Hologres kompatibel dengan protokol PostgreSQL dan mendukung SQL standar. Hologres mendukung pemrosesan analitik online (OLAP) serta kueri ad hoc pada data berskala petabyte, sekaligus menyajikan data dengan konkurensi tinggi dan latensi rendah. Hologres terintegrasi dengan MaxCompute, Realtime Compute for Apache Flink, dan DataWorks untuk menyediakan solusi gudang data online dan offline yang lengkap. Tabel berikut menjelaskan kemampuan konektor YAML Hologres.
Item | Deskripsi |
Tipe tabel | Sink |
Mode berjalan | Mode streaming dan batch |
Format data | N/A |
Metriks |
Catatan Untuk informasi selengkapnya, lihat Metrik. |
Tipe API | YAML |
Pembaruan atau penghapusan di tabel sink | Didukung |
Fitur
Fitur | Deskripsi |
Menyinkronkan data penuh dan inkremental secara real-time dari seluruh database atau beberapa tabel ke tabel sink yang sesuai. | |
Menyinkronkan perubahan skema (seperti penambahan, penghapusan, atau penggantian nama kolom) dari tabel sumber ke tabel sink yang sesuai secara real-time. | |
Gunakan ekspresi reguler untuk mencocokkan tabel sumber di beberapa database sharded berdasarkan nama. Data dari tabel-tabel tersebut kemudian digabung dan disinkronkan ke tabel sink hilir yang sesuai namanya. | |
Menulis data dari tabel hulu ke tabel partisi Hologres. | |
Memetakan tipe data hulu ke tipe data Hologres yang lebih luas menggunakan beberapa strategi. |
Sintaksis
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}Parameter
Parameter | Deskripsi | Jenis | Wajib | Bawaan | Keterangan |
type | Tipe sink. | String | Ya | None | Nilainya harus |
name | Nama sink. | String | Tidak | None | N/A. |
dbname | Nama database. | String | Ya | None | N/A. |
username | Username untuk akses database. Gunakan ID AccessKey Akun Alibaba Cloud Anda. | String | Ya | None | Untuk informasi lebih lanjut, lihat Bagaimana cara melihat ID AccessKey dan Rahasia AccessKey? Penting Untuk menghindari eksposur AccessKey Anda, tentukan nilainya menggunakan variabel. Untuk informasi lebih lanjut, lihat Variabel proyek. |
password | Password untuk akses database. Gunakan Rahasia AccessKey Akun Alibaba Cloud Anda. | String | Ya | None | |
endpoint | Titik akhir layanan Hologres. | String | Ya | None | Untuk informasi lebih lanjut, lihat Titik akhir akses. |
jdbcRetryCount | Jumlah percobaan ulang untuk operasi tulis dan kueri saat koneksi gagal. | Integer | Tidak | 10 | N/A. |
jdbcRetrySleepInitMs | Waktu tunggu tetap untuk setiap upaya percobaan ulang. | Long | Tidak | 1000 | Unit: milidetik. Waktu tunggu aktual untuk percobaan ulang dihitung menggunakan rumus berikut: |
jdbcRetrySleepStepMs | Waktu tunggu tambahan untuk setiap upaya percobaan ulang. | Long | Tidak | 5000 | Unit: milidetik. Waktu tunggu aktual untuk percobaan ulang dihitung menggunakan rumus berikut: |
jdbcConnectionMaxIdleMs | Waktu idle maksimum untuk koneksi JDBC. | Long | Tidak | 60000 | Unit: milidetik. Jika koneksi tidak aktif lebih lama dari durasi ini, koneksi akan diputus dan dilepas. |
jdbcMetaCacheTTL | Waktu kedaluwarsa untuk informasi TableSchema yang di-cache secara lokal. | Long | Tidak | 60000 | Unit: milidetik. |
jdbcMetaAutoRefreshFactor | Faktor yang menentukan pemicu penyegaran cache. Sistem secara otomatis menyegarkan cache jika sisa masa berlakunya kurang dari waktu pemicu. | Integer | Tidak | 4 | Sisa masa berlaku cache dihitung sebagai berikut: Sisa masa berlaku cache = Waktu kedaluwarsa cache - Waktu cache telah aktif. Setelah penyegaran otomatis, waktu aktif cache diatur ulang menjadi 0. Waktu pemicu dihitung menggunakan rumus: |
mutatetype | Mode penulisan data. | String | Tidak | INSERT_OR_UPDATE | Jika kunci primer ditetapkan untuk tabel fisik Hologres, sink Hologres memastikan semantik tepat-sekali berdasarkan kunci primer tersebut. Jika data dengan kunci primer duplikat tiba, parameter
|
createparttable | Menentukan apakah akan secara otomatis membuat partisi yang belum ada saat menulis ke tabel partisi. | Boolean | Tidak | false | N/A. |
sink.delete-strategy | Menentukan cara memproses pesan retraction. | String | Tidak | None | Nilai yang valid:
|
jdbcWriteBatchSize | Dalam mode JDBC, jumlah maksimum catatan yang dibuffer di sink Hologres sebelum penulisan batch. | Integer | Tidak | 256 | Unit: baris. Catatan Parameter jdbcWriteBatchSize, jdbcWriteBatchByteSize, dan jdbcWriteFlushInterval memiliki hubungan OR. Jika Anda mengatur ketiga parameter tersebut, data hasil akan ditulis segera setelah salah satu kondisi terpenuhi. |
jdbcWriteBatchByteSize | Dalam mode JDBC, parameter ini menentukan ukuran maksimum data dalam byte yang dibuffer oleh sink Hologres sebelum menulis batch ke tujuan. | Long | Tidak | 2.097.152 byte (2 MB) | Catatan Parameter jdbcWriteBatchSize, jdbcWriteBatchByteSize, dan jdbcWriteFlushInterval memiliki hubungan OR. Jika Anda mengatur ketiga parameter tersebut, data hasil akan ditulis segera setelah salah satu kondisi terpenuhi. |
jdbcWriteFlushInterval | Dalam mode JDBC, parameter ini menentukan waktu maksimum yang ditunggu oleh sink Hologres sebelum menulis data yang dibuffer ke Hologres. | Long | Tidak | 10000 | Unit: milidetik. Catatan Parameter jdbcWriteBatchSize, jdbcWriteBatchByteSize, dan jdbcWriteFlushInterval memiliki hubungan OR. Jika Anda mengatur ketiga parameter tersebut, data hasil akan ditulis segera setelah kondisi salah satu di antaranya terpenuhi. |
ignoreNullWhenUpdate | Menentukan apakah akan mengabaikan nilai null dalam data masuk saat | Boolean | Tidak | false | Nilai yang valid:
|
jdbcEnableDefaultForNotNullColumn | Menentukan apakah akan memasukkan nilai bawaan saat nilai null ditulis ke kolom NOT NULL yang tidak memiliki nilai bawaan yang ditentukan. | Boolean | Tidak | true | Nilai yang valid:
|
remove-u0000-in-text.enabled | Menentukan apakah akan menghapus karakter null ( | Boolean | Tidak | false | Nilai yang valid:
|
deduplication.enabled | Menentukan apakah akan melakukan deduplikasi dalam setiap batch sebelum menulis dalam mode jdbc dan jdbc_fixed. | Boolean | Tidak | true | Nilai yang valid:
|
sink.type-normalize-strategy | Strategi pemetaan tipe data. | String | Tidak | STANDARD | Strategi yang digunakan sink Hologres untuk mengonversi tipe data hulu ke tipe Hologres.
|
sink.insert.legacy-put-handler | Menentukan apakah akan menggunakan Put Handler lama untuk menulis data ke Hologres. | Boolean | Tidak | false | Nilai yang valid:
|
table_property.* | Properti tabel fisik untuk Hologres. | String | Tidak | None | Saat membuat tabel Hologres, Anda dapat mengatur properti tabel fisik dalam klausa WITH. Properti tabel yang sesuai dapat membantu sistem mengatur dan mengkueri data secara efisien. Peringatan Parameter |
connection.ssl.mode | Menentukan apakah akan mengaktifkan enkripsi transport Secure Sockets Layer (SSL) dan mode mana yang akan digunakan. | String | Tidak | disable |
Catatan
|
connection.ssl.root-cert.location | Saat mode enkripsi transport memerlukan sertifikat, menentukan path ke file sertifikat. | String | Tidak | None | Saat connection.ssl.mode diatur ke verify-ca atau verify-full, Anda juga harus mengonfigurasi path ke sertifikat CA. Anda dapat mengunggah sertifikat ke platform menggunakan fitur Manajemen File di Konsol Realtime Compute. Setelah sertifikat diunggah, sertifikat tersebut disimpan di direktori /flink/usrlib. Misalnya, jika file sertifikat CA bernama certificate.crt, nilai parameter harus Catatan Untuk mendapatkan sertifikat CA, lihat Enkripsi transport - Unduh sertifikat CA. |
connection.akv4.enabled | Menentukan apakah akan mengaktifkan mode AKV4 untuk menghubungkan ke server Hologres. | Boolean | Tidak | false | N/A. |
connection.akv4.region | Saat mode AKV4 diaktifkan, menentukan wilayah tempat server berada. | String | Tidak | None | Misalnya, |
Gunakan Katalog yang Sudah Ada
Mulai dari VVR 11.5, Anda dapat langsung mereferensikan Katalog Hologres bawaan yang dibuat di halaman Data Management dalam pekerjaan ingesti data Flink CDC. Hal ini mengurangi kebutuhan untuk menentukan properti koneksi secara manual.
sink:
type: hologres
using.built-in-catalog: my_holo_catalogPekerjaan ingesti data dapat secara otomatis menggunakan kembali parameter Katalog Hologres berikut:
endpoint
username
password
dbname
Untuk mengganti parameter yang digunakan kembali secara otomatis ini, Anda dapat secara eksplisit menentukan parameter YAML yang sesuai, yang memiliki prioritas lebih tinggi.
Pemetaan tipe data
Anda dapat menggunakan parameter sink.type-normalize-strategy untuk mengatur strategi konversi data hulu ke tipe Hologres.
Aktifkan
sink.type-normalize-strategysaat Anda memulai pekerjaan YAML untuk pertama kalinya. Jika Anda mengaktifkannya setelah pekerjaan dimulai, Anda harus menghapus tabel hilir dan me-restart pekerjaan tanpa state agar pengaturan tersebut berlaku.Saat ini, tipe array hanya mendukung INTEGER, BIGINT, FLOAT, DOUBLE, BOOLEAN, CHAR, dan VARCHAR.
Hologres tidak mendukung tipe numeric sebagai kunci primer. Jika tipe kunci primer dipetakan ke
numeric, sistem akan mengonversinya ke tipevarchar.
STANDARD
Saat sink.type-normalize-strategy diatur ke STANDARD, tipe data dipetakan sebagai berikut:
Tipe Flink CDC | Tipe Hologres |
CHAR | bpchar |
STRING | text |
VARCHAR | text (jika panjang > 10485760) |
varchar (jika panjang <= 10485760) | |
BOOLEAN | bool |
BINARY | bytea |
VARBINARY | |
DECIMAL | numeric |
TINYINT | int2 |
SMALLINT | |
INTEGER | int4 |
BIGINT | int8 |
FLOAT | float4 |
DOUBLE | float8 |
DATE | date |
TIME_WITHOUT_TIME_ZONE | time |
TIMESTAMP_WITHOUT_TIME_ZONE | timestamp |
TIMESTAMP_WITH_LOCAL_TIME_ZONE | timestamptz |
ARRAY | Array dari tipe elemen yang sesuai |
MAP | Tidak didukung |
ROW | Tidak didukung |
BROADEN
Saat sink.type-normalize-strategy diatur ke BROADEN, tipe Flink CDC dikonversi ke tipe Hologres dengan rentang lebih luas. Pemetaan tipe data sebagai berikut:
Tipe Flink CDC | Tipe Hologres |
CHAR | text |
STRING | |
VARCHAR | |
BOOLEAN | bool |
BINARY | bytea |
VARBINARY | |
DECIMAL | numeric |
TINYINT | int8 |
SMALLINT | |
INTEGER | |
BIGINT | |
FLOAT | float8 |
DOUBLE | |
DATE | date |
TIME_WITHOUT_TIME_ZONE | time |
TIMESTAMP_WITHOUT_TIME_ZONE | timestamp |
TIMESTAMP_WITH_LOCAL_TIME_ZONE | timestamptz |
ARRAY | Array dari tipe elemen yang sesuai |
MAP | Tidak didukung |
ROW | Tidak didukung |
ONLY_BIGINT_OR_TEXT
Saat sink.type-normalize-strategy diatur ke ONLY_BIGINT_OR_TEXT, semua tipe Flink CDC dikonversi ke tipe BIGINT atau STRING di Hologres. Pemetaan tipe data sebagai berikut:
Tipe Flink CDC | Tipe Hologres |
TINYINT | int8 |
SMALLINT | |
INTEGER | |
BIGINT | |
BOOLEAN | text |
BINARY | |
VARBINARY | |
DECIMAL | |
FLOAT | |
DOUBLE | |
DATE | |
TIME_WITHOUT_TIME_ZONE | |
TIMESTAMP_WITHOUT_TIME_ZONE | |
TIMESTAMP_WITH_LOCAL_TIME_ZONE | |
ARRAY | Array dari tipe elemen yang sesuai |
MAP | Tidak didukung |
ROW | Tidak didukung |
Penulisan ke tabel partisi
Anda dapat menggunakan sink Hologres dengan transform untuk menulis data hulu ke tabel partisi Hologres.
partition keyharus merupakan bagian dariprimary key. Jika Anda menggunakan kolom non-primary key dari data hulu sebagaipartition key, kunci primer tabel hulu dan hilir dapat menjadi tidak konsisten, sehingga menyebabkan ketidaksesuaian data selama sinkronisasi data.Hologres mendukung kolom dengan tipe data TEXT, VARCHAR, dan INT sebagai
partition key. Mulai versi 1.3.22, kolom dengan tipe data DATE juga didukung.Untuk secara otomatis membuat tabel partisi anak, atur parameter
createparttableketrue. Jika tidak, Anda harus membuatnya secara manual.
Lihat Menulis data ke tabel partisi untuk contoh.
Sinkronisasi skema tabel
Pipeline YAML CDC menggunakan strategi berbeda untuk menangani perubahan skema tabel, yang dapat dikonfigurasi dengan parameter tingkat pipeline schema.change.behavior. Nilai yang valid untuk schema.change.behavior adalah IGNORE, LENIENT, TRY_EVOLVE, EVOLVE, dan EXCEPTION. Sink Hologres saat ini tidak mendukung strategi TRY_EVOLVE. Strategi LENIENT dan EVOLVE melibatkan perubahan skema tabel. Bagian berikut menjelaskan bagaimana kedua mode ini menangani berbagai peristiwa perubahan skema.
LENIENT (bawaan)
Dalam mode LENIENT, perubahan skema ditangani sebagai berikut:
Menambahkan kolom nullable: Kolom yang sesuai secara otomatis ditambahkan di akhir tabel sink, dan datanya disinkronkan.
Menghapus kolom nullable: Kolom tidak dihapus dari tabel sink. Sebaliknya, kolom tersebut secara otomatis diisi dengan nilai NULL.
Menambahkan kolom non-nullable: Kolom nullable yang sesuai secara otomatis ditambahkan di akhir tabel sink, dan datanya disinkronkan. Untuk baris yang sudah ada, kolom baru ini secara otomatis diisi dengan NULL.
Mengganti nama kolom: Operasi ini dianggap sebagai penghapusan kolom dan penambahan kolom baru. Kolom baru dengan nama yang ditentukan ditambahkan di akhir tabel sink, dan kolom dengan nama asli secara otomatis diisi dengan nilai NULL. Misalnya, jika col_a diganti namanya menjadi col_b, kolom col_b ditambahkan di akhir tabel sink, dan kolom col_a secara otomatis diisi dengan nilai NULL.
Mengubah tipe data kolom: Tidak didukung. Karena Hologres tidak mendukung perubahan tipe data kolom, Anda harus menggunakan parameter
sink.type-normalize-strategy.Perubahan skema berikut tidak didukung:
Perubahan pada constraint, seperti kunci primer atau indeks.
Menghapus kolom non-nullable.
Mengubah kolom dari NOT NULL menjadi NULLABLE.
EVOLVE
Dalam mode EVOLVE, perubahan skema ditangani sebagai berikut:
Menambahkan kolom nullable: Didukung.
Menghapus kolom nullable: Tidak didukung.
Menambahkan kolom non-nullable: Kolom nullable baru ditambahkan ke tabel sink.
Mengganti nama kolom: Didukung. Kolom asli diganti namanya di tabel sink.
Mengubah tipe data kolom: Tidak didukung. Karena Hologres tidak mendukung perubahan tipe data kolom, Anda harus menggunakan parameter
sink.type-normalize-strategy.Perubahan skema berikut tidak didukung:
Perubahan pada constraint, seperti kunci primer atau indeks.
Menghapus kolom non-nullable.
Mengubah kolom dari NOT NULL menjadi NULLABLE.
Dalam mode EVOLVE, melakukan restart tanpa state tanpa menghapus tabel sink dapat menyebabkan pipeline gagal karena ketidaksesuaian skema antara data hulu dan tabel sink. Anda kemudian harus menyesuaikan skema tabel sink secara manual.
Lihat Mengaktifkan mode EVOLVE untuk contoh.
Contoh kode
Pelebaran tipe
Gunakan parameter sink.type-normalize-strategy untuk mengonfigurasi pelebaran tipe.
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.test_source_table
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Memetakan tipe data CDC ke tipe Hologres yang lebih luas.
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres PipelinePenulisan ke tabel partisi
Konversi bidang timestamp create_time ke tipe date dan gunakan sebagai kunci partisi untuk tabel Hologres.
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.test_source_table
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Secara otomatis membuat tabel partisi jika belum ada.
createparttable: true
transform:
- source-table: test_db.test_source_table
projection: \*, DATE_FORMAT(CAST(create_time AS TIMESTAMP), 'yyyy-MM-dd') as partition_key
primary-keys: id, create_time, partition_key
partition-keys: partition_key
description: add partition key
pipeline:
name: MySQL to Hologres PipelineMengaktifkan EVOLVE mode
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.test_source_table
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Secara otomatis membuat tabel partisi jika belum ada.
createparttable: true
pipeline:
name: MySQL to Hologres Pipeline
schema.change.behavior: evolveSinkronisasi tabel tunggal
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.test_source_table
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Memetakan tipe data CDC ke tipe Hologres yang lebih luas.
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres PipelineSinkronisasi database penuh
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Memetakan tipe data CDC ke tipe Hologres yang lebih luas.
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres PipelineMenggabungkan tabel terbagi (sharded)
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.user\.*
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Memetakan tipe data CDC ke tipe Hologres yang lebih luas.
sink.type-normalize-strategy: BROADEN
route:
# Semua tabel terbagi di database MySQL test_db digabung menjadi satu tabel Hologres bernama test_db.user.
- source-table: test_db.user\.*
sink-table: test_db.user
pipeline:
name: MySQL to Hologres PipelineSinkronisasi ke skema tertentu
Di Hologres, skema berpadanan dengan database di MySQL. Anda dapat menentukan skema untuk tabel sink.
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.user\.*
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Memetakan tipe data CDC ke tipe Hologres yang lebih luas.
sink.type-normalize-strategy: BROADEN
route:
# Sinkronkan semua tabel dari database MySQL test_db ke skema Hologres test_db2 sambil mempertahankan nama tabel asli.
- source-table: test_db.\.*
sink-table: test_db2.<>
replace-symbol: <>
pipeline:
name: MySQL to Hologres PipelineSinkronisasi tabel baru tanpa restart
Untuk menyinkronkan tabel yang baru ditambahkan secara real-time saat pekerjaan sedang berjalan, atur scan.binlog.newly-added-table.enable = true.
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
server-id: 5401-5499
# Secara otomatis menangkap tabel baru yang dibuat saat pekerjaan berjalan.
scan.binlog.newly-added-table.enabled: true
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Memetakan tipe data CDC ke tipe Hologres yang lebih luas.
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres PipelineMenambahkan tabel yang sudah ada saat restart
Untuk menyertakan tabel yang sudah ada dalam sinkronisasi, atur scan.newly-added-table.enabled ke true dan restart pekerjaan.
Jangan gunakan scan.newly-added-table.enabled pada pekerjaan yang sebelumnya dijalankan dengan scan.binlog.newly-added-table.enabled. Kombinasi ini menyebabkan duplikasi data saat restart.
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
server-id: 5401-5499
scan.startup.mode: initial
# Saat restart, pekerjaan memindai tabel baru yang sesuai dengan parameter `tables` dan melakukan snapshot.
# Catatan: Parameter ini harus digunakan dengan scan.startup.mode: initial.
scan.newly-added-table.enabled: true
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Memetakan tipe data CDC ke tipe Hologres yang lebih luas.
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres PipelineMengecualikan tabel
source:
type: mysql
name: MySQL Source
hostname: <yourHostname>
port: 3306
username: flink
password: ${secret_values.password}
tables: test_db.\.*
# Mengecualikan tabel yang sesuai dengan ekspresi reguler ini.
tables.exclude: test_db.table1
server-id: 5401-5499
sink:
type: hologres
name: Hologres Sink
endpoint: <yourEndpoint>
dbname: <yourDbname>
username: ${secret_values.ak_id}
password: ${secret_values.ak_secret}
# Memetakan tipe data CDC ke tipe Hologres yang lebih luas.
sink.type-normalize-strategy: BROADEN
pipeline:
name: MySQL to Hologres PipelineDokumen terkait
Untuk mempelajari lebih lanjut tentang modul source, sink, transform, dan route, lihat Referensi Pengembangan Pekerjaan Ingesti Data Flink CDC.
Untuk mengembangkan pekerjaan YAML ingesti data, lihat Pengembangan Pekerjaan Ingesti Data Flink CDC.