All Products
Search
Document Center

Realtime Compute for Apache Flink:FAQ Katalog

Last Updated:Sep 01, 2026

Topik ini mencakup kesalahan katalog umum di Realtime Compute for Apache Flink, termasuk masalah terkait Hologres Catalog, katalog MySQL, katalog Hive, dan pernyataan CREATE TABLE AS (CTAS).

Pekerjaan Hologres Catalog berakhir tanpa mengonsumsi data secara real time

Gejala

Pekerjaan Flink selesai setelah membaca data yang sudah ada dari Hologres, lalu keluar. Pekerjaan tersebut tidak menunggu kedatangan catatan baru.

Penyebab

Secara default, Realtime Compute for Apache Flink membaca data dari Hologres dalam mode batch, bukan mode streaming.

Solusi

Tambahkan petunjuk /*+ OPTIONS('binlog'='true') */ ke kueri SQL Anda untuk beralih ke mode streaming:

INSERT INTO testfinish
SELECT
  col1,
  col2,
  col3
FROM testsource /*+ OPTIONS ('binlog' = 'true') */
   LEFT JION testdim /*+ OPTIONS ('binlog' = 'true') */
         ON testsource.co11 = testdim.'col1';

Kesalahan antarmuka CatalogTableProvider dengan CREATE TABLE AS

Pesan error

org.apache.flink.table.api.ValidationException: SQL validation failed. CREATE TABLE ... AS TABLE ... statement requires target catalog 'XXXXXX' (MongoDBCatalog) implements org.apache.flink.table.catalog.CatalogTableProvider interface. Hint: Please refer the document and use another catalog that supports schema evolution as the target catalog.

Penyebab

Katalog tabel sink tidak mengimplementasikan antarmuka CatalogTableProvider dan tidak dapat digunakan dengan pernyataan CREATE TABLE AS (CTAS). Sebagai contoh, katalog MongoDB tidak mendukung CTAS sebagai sink.

Solusi

Gunakan tabel sumber dan tabel sink yang mendukung CTAS. Untuk daftar lengkap sistem penyimpanan yang didukung, lihat CREATE TABLE AS (CTAS).

Kueri katalog MySQL lambat atau mengembalikan exception server

Respons kueri yang lambat atau exception server saat mengkueri katalog MySQL biasanya disebabkan oleh latensi jaringan tinggi atau koneksi tidak stabil antara Flink dan MySQL. Terapkan solusi yang sesuai dengan situasi Anda.

-- Penulis:        izha****69041.onaliyun.com
-- Waktu Dibuat:  2022-06-30 14:30:42
-- Deskripsi:     Tulis deskripsi Anda di sini

SELECT
  order_id,
  SUM(goods_id) AS nm
from
  `bi`.`izm_tempfile`.`orders`
GROUP BY order_id
Server response error
com.ververica.cdc.connectors.shaded.com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Unsupported transaction isolation level '-1'
  at com.ververica.cdc.connectors.shaded.com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:596)
  at com.ververica.cdc.connectors.shaded.com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:575)
  at com.ververica.cdc.connectors.shaded.com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115)
  at com.ververica.cdc.connectors.shaded.com.zaxxer.hikari.HikariDataSource.(HikariDataSource.java:81)
  at com.ververica.cdc.connectors.mysql.source.connection.PooledDataSourceFactory.createPooledDataSource(PooledDataSourceFactory.java:35)
  at com.ververica.cdc.connectors.mysql.source.connection.JdbcConnectionPools.getOrCreateConnectionPool(JdbcConnectionPools.java:50)
  at com.ververica.connectors.mysql.connection.MySqlConnectionProvider.(MySqlConnectionProvider.java:56)
  at com.ververica.connectors.mysql.catalog.MySqlCatalog.open(MySqlCatalog.java:149)
  at org.apache.flink.table.catalog.CatalogManager.registerCatalog(CatalogManager.java:210)
  at org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalog(TableEnvironmentImpl.java:1320)
  at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1161)
  at org.apache.flink.table.sqlserver.execution.OperationExecutorImpl.executeOperation(OperationExecutorImpl.java:434)
  at org.apache.flink.table.sqlserver.execution.DelegateOperationExecutor.lambda$executeOperation...

Penyebab 1: Bandwidth publik tidak mencukupi

Periksa apakah bandwidth publik dari Realtime Compute for Apache Flink ke MySQL terlalu rendah. Bandwidth publik default bisa serendah 2 Mbit/s. Periksa juga apakah akses dilakukan lintas wilayah. Untuk petunjuk cara melihat bandwidth Anda, lihat Bagaimana cara melihat bandwidth publik?

Penyebab 2: Koneksi jaringan tidak stabil

Tingkatkan nilai parameter interactive_timeout dan wait_timeout pada instans MySQL Anda untuk mengurangi frekuensi putus koneksi.

Penyebab 3: Timeout koneksi terlalu singkat

Tambahkan opsi 'connect.timeout'='120s' ke klausa WITH saat membuat tabel untuk katalog MySQL:

-- Tambahkan ke klausa WITH pada pernyataan CREATE TABLE Anda
'connect.timeout' = '120s'

Tidak dapat memperoleh token STS dari meta-service EMR

Pesan error

Caused by: MetaException(message:Initialize DlfMetaStoreClient failed: Initialize DlfMetaStoreClient failed: Cannot obtain STS token from EMR meta-service. Note that AK-Mode[dlf.catalog.akMode] can only used in EMR clusters, otherwise you should config the dlf.catalog.accessKeyId and dlf.catalog.accessKeySecret explicitly.)
  at com.aliyun.datalake.metastore.hive2.ProxyMetaStoreClient.createClient(ProxyMetaStoreClient.java:91)
  at com.aliyun.datalake.metastore.hive2.ProxyMetaStoreClient.<init>(ProxyMetaStoreClient.java:71)
  ... 41 more

Penyebab

File konfigurasi hive-site.xml berisi pengaturan EMR_AUTO untuk dlf.catalog.akMode. Pengaturan ini hanya berfungsi di dalam kluster E-MapReduce (EMR). Menjalankannya di luar EMR menyebabkan inisialisasi katalog Hive gagal.

Solusi

Perbarui hive-site.xml di direktori hive-conf-dir Anda:

  1. Hapus properti berikut:

    <property>
      <name>dlf.catalog.akMode</name>
      <value>EMR_AUTO</value>
    </property>
  2. Tambahkan ID AccessKey dan Rahasia AccessKey Anda:

    <property>
        <name>dlf.catalog.accessKeyId</name>
        <value>${AccessKeyId}</value>
      </property>
    <property>
        <name>dlf.catalog.accessKeySecret</name>
        <value>${AccessKeySecret}</value>
      </property>

Perubahan konfigurasi katalog di Konsol atau melalui ALTER CATALOG tidak berlaku

Penyebab

  • Realtime Compute for Apache Flink tidak mendukung modifikasi konfigurasi katalog yang telah terdaftar. Konsol tidak menyediakan entri untuk modifikasi semacam itu, dan pernyataan ALTER CATALOG tidak dapat mengubah konfigurasi katalog.

  • Konfigurasi katalog pihak ketiga, seperti DLF atau Hive, dikelola oleh layanan metadata-nya sendiri. Perubahan yang dilakukan di sisi Flink tidak memengaruhi konfigurasi tersebut.

Solusi

  • Untuk mengubah konfigurasi katalog yang terdaftar di Konsol, hapus katalog tersebut dan buat ulang dengan konfigurasi baru. Untuk informasi lebih lanjut, lihat topik manajemen katalog yang sesuai, seperti Mengelola Katalog DLF-Legacy atau Mengelola Katalog Hive.

  • Untuk mengubah konfigurasi katalog pihak ketiga itu sendiri, seperti katalog DLF, lakukan modifikasi di Konsol layanan cloud yang sesuai.