All Products
Search
Document Center

Realtime Compute for Apache Flink:Kelola katalog Hologres

Last Updated:Sep 19, 2026

Setelah mengonfigurasi katalog Hologres, Anda dapat membaca metadata Hologres langsung dari Konsol Realtime Compute for Apache Flink tanpa perlu mendaftarkan tabel secara manual. Fitur ini meningkatkan efisiensi pengembangan pekerjaan dan memastikan akurasi data. Topik ini menjelaskan cara mengonfigurasi, melihat, menggunakan, dan menghapus katalog Hologres.

Prasyarat

Anda harus memiliki instans Hologres khusus yang berisi database. Untuk informasi selengkapnya, lihat Buat database.

Batasan

  • Katalog tidak dapat dimodifikasi. Untuk menerapkan perubahan, Anda harus menghapus katalog yang ada dan membuat yang baru.

  • Anda harus menggunakan instans Hologres khusus. Realtime Compute for Apache Flink tidak mendukung instans kluster bersama karena hanya dapat mengakses tabel internal Hologres.

Buat katalog Hologres

Penting

Konfigurasi katalog tidak dapat diubah setelah dibuat. Untuk melakukan perubahan, hapus katalog yang ada dan buat yang baru.

UI

Jika Anda perlu mengatur parameter yang didukung oleh konektor Hologres, buat katalog Hologres menggunakan SQL.

  1. Buka halaman Data Management.

    1. Login ke Konsol Realtime Compute for Apache Flink, lalu klik Console pada kolom Actions ruang kerja target.

    2. Klik Catalogs.

  2. Klik Create Catalog, pilih Hologres, lalu klik Next.

  3. Konfigurasi parameter.

    Parameter

    Deskripsi

    Wajib

    Catatan

    catalogname

    Nama katalog Hologres.

    Ya

    Hanya huruf kecil (a-z) dan angka (0-9) yang didukung. Huruf kapital, tanda hubung (-), garis bawah (_), dan karakter khusus lainnya tidak diperbolehkan.

    endpoint

    Titik akhir jaringan instans Hologres.

    Ya

    Jika instans Hologres dan ruang kerja Flink berada dalam VPC yang sama, buka Hologres console. Pada halaman detail instans target, peroleh informasi jaringan untuk Specified VPC dari bagian Network Information.

    Untuk jenis jaringan lainnya, lihat Peroleh endpoint instans Hologres.

    username

    • Username akun kustom, dalam format BASIC$<user_name>.

    • ID AccessKey Akun Alibaba Cloud atau Pengguna RAM.

    Ya

    • Pengguna yang dikonfigurasi harus memiliki izin untuk mengakses database Hologres yang sesuai. Untuk informasi selengkapnya, lihat model izin Hologres dan manajemen pengguna.

    • Untuk mengetahui cara memperoleh ID AccessKey dan AccessKey Secret, lihat Peroleh Pasangan Kunci Akses.

      Penting
      • Untuk mencegah kebocoran AK atau password Anda, kami menyarankan agar Anda menggunakan variabel proyek untuk memasukkan nilainya. Untuk informasi selengkapnya, lihat Variabel proyek.

      • Katalog yang dibuat dengan akun kustom hanya menampilkan database yang memiliki izin untuk akun tersebut. Katalog yang dibuat dengan AccessKey menampilkan semua database dalam instans.

    password

    • Password akun kustom.

    • AccessKey Secret Akun Alibaba Cloud atau Pengguna RAM.

    Ya

    dbname

    Nama database Hologres.

    Ya

    Database harus sudah ada dalam instans Hologres target. Jika tidak, pembuatan katalog akan gagal.

  4. Klik OK.

    Setelah pembuatan selesai, Anda dapat melihat katalog baru di bawah Catalogs.

SQL

  1. Pada editor di halaman Data Query, masukkan pernyataan untuk membuat katalog Hologres.

    Sintaks:

    CREATE CATALOG <catalogname> WITH (
      'type' = 'hologres',
      'endpoint' = '<endpoint>', 
      'username' = '<AccessKey ID>',
      'password' = '<AccessKey Secret>',
      'dbname' = '<dbname>'
    );

    Contoh:

    Contoh sederhana

    Contoh konsumsi real-time

    CREATE CATALOG holocatalog WITH (
      'type' = 'hologres',
      'endpoint' = 'hgpostcn-cn-******-cn-hangzhou-vpc-st.hologres.aliyuncs.com:80', 
      'username' = 'LTAI********************',
      'password' = '${secret_values.ak_holo}',
      'dbname' = 'holo_test'
    );

    Binlog harus diaktifkan untuk mendukung konsumsi data binlog.

    CREATE CATALOG holocatalog WITH (
      'type' = 'hologres',
      'endpoint' = 'hgpostcn-cn-******-cn-hangzhou-vpc-st.hologres.aliyuncs.com:80', 
      'username' = 'LTAI********************',
      'password' = '${secret_values.ak_holo}',
      'dbname' = 'holo_test',
      'binlog' = 'true', -- Saat membuat katalog, Anda dapat mengatur parameter WITH untuk tabel source, dimension, dan sink. Parameter ini kemudian diterapkan secara default ke tabel yang diakses melalui katalog ini.
      'cdcmode' = 'true',
      'connectionpoolname' = 'the_conn_pool',
      'table_property.binlog.level' = 'replica', -- Anda juga dapat meneruskan properti tabel Hologres yang dipertahankan saat membuat katalog. Dengan demikian, binlog diaktifkan secara default untuk tabel baru.
      'table_property.binlog.ttl' = '259200'
    );

    Tabel berikut menjelaskan parameter tersebut.

    Parameter

    Deskripsi

    Wajib

    Catatan

    catalogname

    Nama katalog Hologres.

    Ya

    Hanya huruf kecil (a-z) dan angka (0-9) yang didukung. Huruf kapital, tanda hubung (-), garis bawah (_), dan karakter khusus lainnya tidak diperbolehkan.

    type

    Jenis katalog.

    Ya

    Nilainya harus hologres.

    endpoint

    Titik akhir instans Hologres.

    Ya

    Jika instans Hologres dan ruang kerja Flink berada dalam VPC yang sama, buka Hologres management console dan peroleh informasi jaringan specified VPC dari bagian Network Information pada halaman detail instans target.

    Untuk jenis jaringan lainnya, lihat Peroleh endpoint instans Hologres.

    username

    ID AccessKey Akun Alibaba Cloud atau Pengguna RAM Anda.

    Ya

    Untuk informasi selengkapnya, lihat Peroleh Pasangan Kunci Akses.

    Catatan
    • Untuk mencegah kebocoran informasi AK Anda, kami menyarankan agar Anda menggunakan variabel untuk menentukan nilai password. Untuk informasi selengkapnya, lihat Variabel proyek.

    • Pengguna yang sesuai dengan AccessKey yang ditentukan harus memiliki izin untuk mengakses database Hologres. Untuk informasi selengkapnya tentang izin database, lihat model izin Hologres.

    password

    AccessKey Secret Akun Alibaba Cloud atau Pengguna RAM Anda.

    Ya

    dbname

    Nama database Hologres.

    Ya

    Database harus sudah ada dalam instans Hologres target. Jika tidak, pembuatan katalog akan gagal.

    ignore-non-persisted-options

    Menentukan perilaku saat membuat tabel dengan opsi non-persisted melalui katalog.

    Tidak

    Nilai yang valid:

    • true (default): Tabel dibuat, dan semua opsi non-persisted diabaikan.

    • false: Terjadi error, dan tabel gagal dibuat.

    Catatan

    Opsi tabel yang dipertahankan adalah opsi yang nilainya, sebagaimana didefinisikan dalam pernyataan DDL, disimpan dalam katalog Hologres dan dapat diambil kembali nanti. Saat ini, hanya opsi endpoint, username, password, dan dbname yang dipertahankan.

    catalog.table.metadata-columns

    Saat Anda menggunakan katalog ini untuk menentukan tabel source, Anda dapat menambahkan kolom metadata dari tabel source binlog Hologres ke skema tabel sesuai kebutuhan. Pisahkan beberapa kolom metadata dengan titik koma (;). Contoh: hg_binlog_event_type;hg_binlog_timestamp_us.

    Tidak

    Secara default, tidak ada kolom metadata yang ditambahkan. Jika Anda mengonfigurasi parameter ini, kolom metadata yang ditentukan akan ditambahkan ke skema tabel yang dikembalikan. Kolom-kolom ini hanya berlaku untuk tabel source binlog Hologres. Oleh karena itu, tabel dari katalog ini hanya dapat digunakan sebagai tabel source, bukan sebagai tabel sink atau tabel dimensi. Enam jenis kolom metadata didukung. Untuk informasi selengkapnya, lihat field binlog Hologres.

    Catatan

    Parameter ini hanya didukung di Ververica Runtime (VVR) 8.0.11 dan versi lebih baru.

    Parameter lain yang didukung oleh konektor Hologres

    Anda dapat menentukan parameter lain, termasuk opsi WITH, saat membuat katalog. Parameter ini kemudian menjadi pengaturan default untuk semua tabel yang diakses melalui katalog ini.

    Tidak

    Untuk menggunakan fitur ini, atur parameter ignore-non-persisted-options ke true.

  2. Setelah memasukkan pernyataan pembuatan katalog, klik Run di pojok kanan atas.

Katalog Hologres

Setelah mengonfigurasi katalog Hologres, ikuti langkah-langkah berikut untuk melihat metadatanya.

  1. Buka halaman Catalogs.

    1. Login ke Konsol Realtime Compute for Apache Flink.

    2. Pada kolom Actions ruang kerja target, klik Console.

    3. Di panel navigasi kiri, klik Catalogs.

  2. Pada halaman Catalog List, temukan katalog Anda berdasarkan Name dan Type.

    Klik View untuk melihat database dan tabel dalam katalog. Jika skema bersifat public, nama tabel muncul tanpa awalan skema.

Gunakan Katalog Hologres

Catatan:

  • Jika skema bersifat public, saat Anda memasukkan ${schema_name.table_name}, Anda dapat menghilangkan awalan nama skema dan langsung memasukkan nama tabel sebagai ${table_name}.

  • Tabel dalam Katalog Hologres dapat mengonsumsi data UPDATE. Untuk tabel-tabel ini, properti ignoredelete secara default bernilai false dan properti mutatetype secara default bernilai insertorupdate. Untuk informasi selengkapnya tentang properti ini, lihat Gabungkan data ke tabel lebar dan perbarui data secara parsial.

Buat tabel Hologres

Contoh ini membuat tabel bernama holotable dalam database holodb pada katalog holocatalog.

Catatan
  • Saat membuat tabel dalam layanan data Hologres terdaftar, parameter connector wajib dicantumkan dalam klausa WITH, dan nilainya harus hologres. Anda dapat menghilangkan parameter lain seperti endpoint.

  • Anda tidak dapat langsung menambahkan atau memodifikasi parameter WITH yang didukung dalam tabel Hologres. Untuk menambahkan atau memodifikasi parameter ini, gunakan Petunjuk SQL dalam pernyataan INSERT.

UI

  1. Buka halaman Catalogs.

    1. Login ke Konsol Realtime Compute for Apache Flink.

    2. Pada kolom Actions ruang kerja target, klik Console.

    3. Klik Catalogs.

  2. Buka database target.

    1. Pada kolom Actions katalog target, klik View.

    2. Pada kolom Actions database target, klik View.

  3. Buat tabel Hologres.

    1. Klik Create Table.

    2. Pada tab Built-in, pilih konektor Hologres dan klik Next.

    3. Masukkan pernyataan CREATE TABLE dan konfigurasikan parameter. Kode berikut merupakan contohnya.

      Sintaks

      Contoh

      CREATE TABLE `${catalog_name}`.`${db_name}`.`${table_name}` (
       ...
      ) WITH (
       'connector' = 'hologres'
      );
      CREATE TABLE `holocatalog`.`holo_test`.`product` (
       id INT,
       name STRING
      ) WITH (
       'connector' = 'hologres'
      );
    4. Klik OK.

SQL

  1. Pada editor di halaman Data Query, masukkan pernyataan CREATE TABLE.

    Anda dapat membuat tabel Hologres dengan salah satu cara berikut:

    USE CATALOG

    Gunakan pernyataan USE untuk mereferensikan Katalog Hologres.

    Sintaks

    Contoh

    USE CATALOG ${catalog_name};
    CREATE TABLE `${db_name}`.`${schema_name.table_name}`(
      ...
     ) WITH (
       'connector' = 'hologres'
     );
    USE CATALOG holocatalog;
    CREATE TABLE `holodb`.`holotable` (
     id INT,
     name STRING
    ) WITH (
     'connector' = 'hologres'
    );

    DDL

    Referensikan Katalog Hologres dalam pernyataan DDL.

    Sintaks

    Contoh

    CREATE TABLE `${catalog_name}`.`${db_name}`.`${schema_name.table_name}`(
      ...
     ) WITH (
       'connector' = 'hologres'
     );
    CREATE TABLE `holocatalog`.`holodb`.`holotable` (
     id INT,
     name STRING
    ) WITH (
     'connector' = 'hologres'
    );

    Anda juga dapat mengatur properti tabel fisik dalam pernyataan DDL.

    CREATE TABLE `holocatalog`.`holodb`.`holotable` (
      id INT,
      name STRING
    ) WITH (
      'connector' = 'hologres',
      'table_property.orientation' = 'column',
      'table_property.distribution_key' = 'a',
      'table_property.clustering_key' = 'b:desc',
      'table_property.bitmap_columns' = 'a,b',
      'table_property.segment_key' = 'c',
      'table_property.time_to_live_in_seconds' = '86400',
      'table_property.binlog.level' = 'replica',
      'table_property.binlog.ttl' = '86400'
    );
  2. Setelah memasukkan pernyataan, klik Run di pojok kanan atas untuk membuat tabel.

Saat membuat tabel Hologres, Anda dapat menentukan properti tabel dalam klausa WITH. Beberapa properti tidak dapat diubah nanti. Mengatur properti ini dengan benar meningkatkan organisasi data dan kinerja kueri.

  • Properti tabel fisik: Properti yang didukung konsisten dengan yang ada di Hologres, kecuali Anda harus menambahkan awalan table_property.. Untuk informasi selengkapnya tentang parameter, lihat Ikhtisar pembuatan tabel dan Berlangganan binlog Hologres.

    Parameter

    Deskripsi

    Contoh

    Dapat Diubah

    table_property.orientation

    Menentukan format penyimpanan tabel.

    'table_property.orientation' = 'row,column'

    Tidak

    table_property.table_group

    Menentukan kelompok tabel.

    'table_property.table_group' = 'table_group_xxx'

    table_property.distribution_key

    Menentukan kunci distribusi.

    'table_property.distribution_key' = 'a,b'

    table_property.clustering_key

    Menentukan kunci pengelompokan.

    'table_property.clustering_key' = 'a,b:desc'

    table_property.event_time_column (sebelumnya table_property.segment_key)

    Menentukan kunci segmen.

    'table_property.event_time_column' = 'c,d' (atau 'table_property.segment_key' = 'c,d')

    table_property.bitmap_columns

    Menentukan indeks bitmap.

    'table_property.bitmap_columns' = 'a:on,b:off'

    Ya

    table_property.dictionary_encoding_columns

    Menentukan encoding kamus.

    'table_property.dictionary_encoding_columns' = 'a:on,b:off,c:auto'

    table_property.time_to_live_in_seconds

    Menentukan masa hidup data (TTL) tabel.

    'table_property.time_to_live_in_seconds' = '864000'

    table_property.binlog.level

    Menentukan apakah binlog diaktifkan.

    'table_property.binlog.level' = 'replica'

    table_property.binlog.ttl

    Menentukan TTL binlog.

    'table_property.binlog.ttl' = '86400'

  • Parameter mode lenient: Untuk mengaktifkan mode lenient saat membuat tabel dengan katalog Hologres, atur parameter enableTypeNormalization. Dalam pekerjaan ingesti data Flink CDC, aktifkan mode lenient dengan mengatur sink.type-normalize-strategy.

    Item

    Deskripsi

    Kasus penggunaan

    Dalam skenario sinkronisasi data, Anda mungkin perlu menyesuaikan presisi tipe data field yang ada (misalnya, dari VARCHAR(10) ke VARCHAR(20)) atau mengubah tipe data (misalnya, dari SMALLINT ke INT).

    Catatan

    • Anda harus mengaktifkan mode lenient saat menjalankan pekerjaan untuk pertama kali. Jika Anda tidak mengaktifkan mode lenient pada saat pertama kali dijalankan, Anda harus menghapus tabel downstream dan melakukan restart tanpa status agar perubahan berlaku.

    • Setelah Anda mengaktifkan mode lenient, jika tipe data upstream berubah, pekerjaan tetap berjalan selama tipe baru dan asli memiliki tipe ternormalisasi yang sama. Jika tidak, tipe tersebut dianggap tidak kompatibel, dan pekerjaan melemparkan exception.

    Nilai

    • false (default): Membuat tabel fisik Hologres berdasarkan pemetaan tipe standar.

    • true: Mode lenient diaktifkan. Saat tabel fisik Hologres dibuat, tipe data dengan presisi lebih tinggi digunakan setelah normalisasi tipe. Aturan normalisasi tipe saat ini adalah sebagai berikut:

      • TINYINT, SMALLINT, INT, dan BIGINT dinormalisasi menjadi BIGINT.

      • CHAR, VARCHAR, dan STRING dinormalisasi menjadi STRING.

      • FLOAT dan DOUBLE dinormalisasi menjadi DOUBLE.

      • Tipe data lainnya dibuat berdasarkan aturan pemetaan tipe asli. Untuk informasi selengkapnya, lihat Pemetaan tipe.

Ubah tabel Hologres

Katalog Hologres mendukung operasi modifikasi tabel berikut:

Aksi

Sintaks dan Contoh

Ubah properti tabel

Hanya beberapa properti tabel yang dapat diubah. Untuk informasi selengkapnya, lihat Buat tabel Hologres.

  • Sintaks:

    ALTER TABLE `${catalog_name}`.`${db_name}`.`${schema_name.table_name}` SET (
      'table_property.binlog.level' = 'replica',
      'table_property.binlog.ttl' = '64700'
    );
  • Contoh:

    ALTER TABLE `holocatalog`.`holodb`.`holotable` SET (
      'table_property.binlog.level' = 'replica',
      'table_property.binlog.ttl' = '64700'
    );

Ubah nama tabel

  • Sintaks:

    ALTER TABLE `${catalog_name}`.`${db_name}`.`${schema_name.table_name}` 
    RENAME TO `${catalog_name}`.`${db_name}`.`${schema_name.new_table_name}`;
  • Contoh:

    ALTER TABLE `holocatalog`.`holodb`.`holotable` 
    RENAME TO `holocatalog`.`holodb`.`new_holotable`;

Tambah kolom

  • Sintaks:

    ALTER TABLE `${catalog_name}`.`${db_name}`.`${schema_name.table_name}` 
    ADD <column_name> <column_datatype> COMMENT '<column_comment>';
  • Contoh:

    ALTER TABLE `holocatalog`.`holodb`.`holotable` 
    ADD address STRING COMMENT 'Informasi alamat';

Ubah nama kolom

  • Sintaks:

    ALTER TABLE `${catalog_name}`.`${db_name}`.`${schema_name.table_name}` 
    RENAME <old_column_name> TO <new_column_name>;
  • Contoh:

    ALTER TABLE `holocatalog`.`holodb`.`holotable` 
    RENAME address TO new_address;

Ubah komentar kolom

  • Sintaks:

    ALTER TABLE `${catalog_name}`.`${db_name}`.`${schema_name.table_name}` 
    MODIFY <column_name> <original_column_type> COMMENT '<new_column_comment>';
  • Contoh:

    ALTER TABLE `holocatalog`.`holodb`.`holotable` 
    MODIFY new_address STRING COMMENT 'Informasi alamat baru';

Baca dan tulis tabel Hologres

  • Baca data dari tabel Hologres dan tulis ke tabel sink.

    Secara default, Flink membaca tabel source Hologres dalam mode batch dan tidak memproses data baru secara real-time. Untuk mengalirkan data dari Hologres secara real-time, gunakan salah satu metode berikut:

    • Konfigurasi Katalog Hologres saat pembuatan: Saat membuat katalog menggunakan SQL, Anda dapat mengaktifkan binlog untuk mengonsumsi data binlog. Untuk informasi selengkapnya, lihat Contoh konsumsi real-time. Lalu, baca data Hologres. Kode berikut memberikan contohnya.

      Sintaks

      Contoh

      INSERT INTO ${other_sink_table}
      SELECT ...
      FROM `${catalog_name}`.`${db_name}`.`${schema_name.table_name}`;
      INSERT INTO sink_table
      SELECT id, name
      FROM `holocatalog`.`holodb`.`holotable`;
    • Ubah ke mode stream menggunakan petunjuk tabel. Tambahkan petunjuk /*+ OPTIONS('binlog'='true') */  ke pernyataan SQL. Kode berikut memberikan contohnya.

      INSERT INTO sinktable
      SELECT id, name
        FROM `holocatalog`.`holodb`.`holotable`
        /*+ OPTIONS ('binlog' = 'true') */;
  • Tulis data dari tabel source ke tabel Hologres.

    Sintaks

    Contoh

    INSERT INTO `${catalog_name}`.`${db_name}`.`${schema_name.table_name}`
    SELECT ... 
    FROM ${other_source_table}
    INSERT INTO `holocatalog`.`holodb`.`holotable`
    SELECT id, name 
    FROM source_table;

Tujuan ingesti data Flink CDC

  • Contoh

    source:
      type: mysql
      using.built-in-catalog: mysql_rds_catalog
      tables: tpcds.web_sales
      server-id: <server id>
      
    sink:
      type: hologres
      using.built-in-catalog: hologres_catalog

Pekerjaan ingesti data Flink CDC memungkinkan Anda mengatur properti tabel fisik pada sink. Properti ini diatur saat tabel tujuan dibuat. Untuk informasi selengkapnya tentang properti tabel yang didukung, lihat Buat tabel Hologres.

Selama sinkronisasi data dari source, Katalog Hologres dapat menulis ulang skema tabel tujuan untuk memastikan data dapat ditulis ke Hologres. Hal ini terjadi dalam kasus berikut:

  • Skema source menggunakan kolom bertipe DECIMAL sebagai primary key.

    Karena Hologres tidak mendukung DECIMAL sebagai primary key, kolom tersebut secara default ditulis ulang menjadi BIGINT. Jika perubahan ini tidak sesuai kebutuhan Anda, Anda dapat menggunakan modul transform untuk mengubah tipe kolom yang direferensikan menjadi STRING dan membuat ulang primary key.

  • Skema source berisi kolom bertipe TIME, TIMESTAMP, atau TIMESTAMP_LTZ dengan presisi lebih dari 6.

    Hologres mendukung presisi hingga 6 untuk tipe waktu. Untuk memastikan data dapat ditulis ke Hologres, Flink secara implisit membuang digit yang melebihi presisi maksimum yang didukung Hologres.

Hapus katalog Hologres

Penting

Menghapus katalog Hologres tidak memengaruhi pekerjaan yang sedang berjalan, tetapi memengaruhi pekerjaan yang belum dipublikasikan atau pekerjaan yang memerlukan jeda dan dilanjutkan kembali. Lakukan dengan hati-hati.

UI

  1. Buka halaman Catalogs.

    1. Login ke Konsol Realtime Compute for Apache Flink.

    2. Pada kolom Actions ruang kerja target, klik Console.

    3. Di panel navigasi kiri, klik Catalogs.

  2. Pada halaman Catalog List, temukan katalog target dan klik Delete pada kolom Actions.

  3. Pada dialog konfirmasi, klik Delete.

  4. Konfirmasi bahwa katalog target tidak lagi muncul di bagian Catalogs di sebelah kiri.

Flink SQL

  1. Pada editor teks di halaman Data Query, masukkan perintah berikut.

    DROP CATALOG ${catalog_name}

    Di mana ${catalog_name} adalah nama Katalog Hologres yang akan dihapus, sebagaimana ditampilkan di Konsol Realtime Compute for Apache Flink.

  2. Pilih perintah tersebut, klik kanan, lalu pilih Run.

  3. Konfirmasi bahwa katalog target tidak lagi muncul di bagian Catalogs di sebelah kiri.

FAQ

Dokumen terkait