全部產品
Search
文件中心

Realtime Compute for Apache Flink:管理 Fluss Catalog

更新時間:Nov 04, 2026

配置 Fluss Catalog 後,可在Realtime Compute開發控制台直接讀取 Fluss 中繼資料,無需手動註冊 Fluss 表,提高作業開發效率並保證資料的正確性。本文介紹如何建立、查看、使用及刪除 Fluss Catalog,以及如何更新自訂 Fluss Catalog。

前提條件

  • 已建立 Fluss 叢集,具體操作請參見建立 Fluss 叢集。

  • Fluss 叢集與 Flink 工作空間位於同一地區且網路互連(位於同一 VPC 或已配置網路連通)。

使用限制

  • 不支援修改 Catalog。如需修改,需先刪除已建立的 Catalog 再重新建立。

  • 密碼方式建立的 Catalog 使用管理員身份串連 Fluss 叢集,所有使用該 Catalog 的作業均以管理員權限訪問資料,無法按使用者隔離資料存取權限。

  • 免密方式建立的 Catalog 根據當前操作使用者身份自動進行許可權認證,不同使用者使用同一個 Catalog 時,只能訪問其在 Fluss 上被授權的資料。

  • 免密方式建立的 Catalog 依賴 RAM 許可權。建立 Catalog 時,需具備 fluss:ListClusters、fluss:GetCluster、fluss:GetToken、fluss:GetFeatureList 許可權;啟動引用該 Catalog 的作業時,至少需具備 fluss:GetToken 許可權。

  • 免密方式下,實際訪問 Fluss 叢集的身份需登入為 Fluss 叢集成員並開啟密碼認證,且已獲得目標資料庫或表的資源授權。未滿足時,作業啟動失敗並提示無法擷取 Fluss 運行時憑證。

建立 Fluss Catalog

根據 Fluss 叢集版本的不同,建立 Catalog 的方式有所差異:

  • Fluss 叢集版本低於 0.9-ali-5.0:僅支援密碼方式建立 Catalog,需要使用管理使用者名和密碼。

  • Fluss 叢集版本為 0.9-ali-5.0 及以上:推薦使用免密方式建立 Catalog,無需輸入使用者名稱和密碼,系統會根據當前操作使用者身份自動完成許可權認證。密碼方式仍可用,但不推薦。

重要

Catalog 建立完成後,配置資訊不支援修改。如需修改,需刪除已建立的 Catalog 再重新建立。

免密方式

適用於 Fluss 叢集版本為 0.9-ali-5.0 及以上。

  1. 登入Realtime Compute控制台。

  2. 單擊目標工作空間操作列下的控制台。

  3. 在左側導覽列,單擊資料管理 > 建立 Catalog。

    在建立 Catalog對話方塊中,選擇內建 Catalog頁簽,在 Catalog 類型列表中選擇 Fluss,然後單擊下一步。

  4. 填寫參數配置資訊。

    配置項

    說明

    是否必填

    備忘

    name

    Fluss Catalog 名稱。

    是

    請填寫為自訂英文名。

    cluster

    Fluss 叢集名稱。

    是

    從下拉式清單中選擇已建立的 Fluss 叢集。系統自動設定串連地址和認證資訊,無需手動填寫使用者名稱和密碼。

  5. 單擊確定。建立完成後,中繼資料下即可查看建立的 Catalog。

說明

免密方式建立的 Catalog 在 Flink 作業運行時,系統會根據當前操作使用者身份自動完成 Fluss 叢集的許可權認證。不同使用者使用同一個 Catalog 時,只能訪問其在 Fluss 上被授權的資料,無需為每個使用者單獨建立 Catalog。免密方式所需的 RAM 許可權與叢集內授權要求,請參見使用限制。

密碼方式

適用於 Fluss 叢集版本低於 0.9-ali-5.0。

UI 方式

  1. 登入Realtime Compute控制台。

  2. 單擊目標工作空間操作列下的控制台。

  3. 在左側導覽列,單擊資料管理 > 建立 Catalog。

    在建立 Catalog對話方塊中,選擇內建 Catalog頁簽,在 Catalog 類型列表中選擇 Fluss,然後單擊下一步。

  4. 填寫參數配置資訊。

    配置項

    說明

    是否必填

    備忘

    name

    Fluss Catalog 名稱。

    是

    請填寫為自訂英文名。

    cluster

    Fluss 叢集名稱。

    否

    從下拉式清單中選擇已建立的 Fluss 叢集。選擇後系統自動填滿 bootstrap.servers。

    default-database

    預設串連的資料庫名稱。

    否

    預設值為 fluss,已預填。

    bootstrap.servers

    Fluss 叢集的伺服器位址列表。

    是

    多個地址使用英文逗號(,)分隔。選擇 cluster 後自動填滿,也可手動填寫。

    client.security.sasl.username

    Fluss 執行個體的管理使用者名。

    是

    可通過 Fluss 控制台的叢集詳情進行查看。

    client.security.sasl.password

    Fluss 執行個體的管理員密碼。

    是

  5. 單擊確定。建立完成後,中繼資料下即可查看建立的 Catalog。

SQL 方式

說明

SQL 方式依賴 Session 叢集,且 Session 叢集版本不能低於 VVR 11.7。低於該版本時無法通過 SQL 建立 Catalog,請使用 UI 方式。

在資料查詢文本編輯地區,輸入以下命令。

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>'
);

輸入建立 Catalog 的代碼後,單擊右上方的運行完成 Catalog 建立。

參數說明如下:

參數

說明

是否必填

備忘

type

Catalog 類型。

是

固定值為 fluss。

bootstrap.servers

Fluss 叢集的伺服器位址列表。

是

可通過 Fluss 控制台的叢集詳情進行查看。

default-database

預設串連的資料庫名稱。

否

預設值為 fluss。

client.security.protocol

安全認證協議。

是

固定值為 SASL。

client.security.sasl.mechanism

SASL 認證機制。

是

固定值為 PLAIN。

client.security.sasl.username

Fluss 執行個體的管理使用者名。

是

可通過 Fluss 控制台的叢集詳情進行查看。

client.security.sasl.password

Fluss 執行個體的管理員密碼。

是

建立自訂 Catalog

Fluss 迭代快於Realtime Compute Flink。此處提供最新的自訂 Catalog 包,用於提前體驗尚未隨 VVR 版本發布的 Fluss Catalog 功能。

說明

僅當所需 Fluss 功能依賴的 VVR 版本尚未發布時使用自訂 Catalog。其餘情境請使用內建 Fluss Catalog。

自訂 Catalog 僅支援通過控制台上傳 JAR 包建立。建立後的使用方式與內建 Fluss Catalog 一致。

  1. 下載自訂 Catalog JAR 包:fluss-ali-vvr-11-0.9-ali-7.1.jar

  2. 在建立 Catalog對話方塊中,選擇自訂 Catalog頁簽。

  3. 單擊建立自訂 Catalog 類型,上傳已下載的 JAR 包,單擊下一步。

  4. 載入完成後,選擇Catalog 類型為fluss-latest,單擊確認。

  5. 選擇此 Catalog,單擊下一步,建立自訂 Catalog。

    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>'
    );

    參數

    說明

    是否必填

    備忘

    type

    Catalog 類型。

    是

    固定值為 fluss-latest。

    bootstrap.servers

    Fluss 叢集的伺服器位址列表。

    是

    可通過 Fluss 控制台的叢集詳情進行查看。

    default-database

    預設串連的資料庫名稱。

    否

    預設值為 fluss。

    client.security.protocol

    安全認證協議。

    是

    固定值為 SASL。

    client.security.sasl.mechanism

    SASL 認證機制。

    是

    固定值為 PLAIN。

    client.security.sasl.username

    Fluss 執行個體的管理使用者名。

    是

    可通過 Fluss 控制台的叢集詳情進行查看。

    client.security.sasl.password

    Fluss 執行個體的管理員密碼。

    是

更新自訂 Fluss Catalog

不支援直接修改已有 Fluss Catalog 的版本。更新方式為:先刪除原有 Catalog,再使用新版本的 Fluss Catalog JAR 包建立同名 Catalog。

Catalog 名稱必須保持不變,以確保作業重啟或重新上線時仍能引用該 Catalog,並載入新版本 JAR 包。

更新對正在啟動並執行 Flink 作業無感,不觸發作業重啟,不影響運行中的作業狀態。後續使用新版本恢複作業時,狀態保持相容。

重要

從刪除舊 Catalog 到同名新 Catalog 建立完成的替換期間,不要重啟或重新上線引用該 Catalog 的作業。正在運行且不發生重啟的作業不受影響。

查看 Fluss Catalog

Fluss Catalog 配置成功後,按以下步驟查看 Fluss 中繼資料。

  1. 登入Realtime Compute控制台。

  2. 單擊目標工作空間操作列下的控制台。

  3. 在左側導覽列,單擊資料管理。

  4. 在 Catalog 列表頁面,查看 Catalog 名稱和類型。

  5. 單擊查看,查看目標 Catalog 下的資料庫和表。

使用 Fluss Catalog

建立 Fluss 表

說明

Fluss Catalog 配置完成後,可在作業中引用 Fluss Catalog 表資訊,作為源表、結果表和維表時無需聲明表的 DDL。

在資料查詢文本編輯地區,輸入以下建表語句。

文法:

CREATE TABLE `${catalog_name}`.`${db_name}`.`${table_name}` (
  ...
);

樣本:

-- 建立主鍵表
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'
);
-- 建立日誌表
CREATE TABLE `fluss_catalog`.`fluss`.`orders` (
  order_id BIGINT,
  item_id BIGINT,
  amount INT,
  address STRING
);

也可以先切換到目標 Catalog 和資料庫,再建立表:

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'
);

讀寫 Fluss 表

將源表資料寫入 Fluss 表。

文法:

INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
SELECT ...
FROM ${other_source_table};

樣本:

INSERT INTO `fluss_catalog`.`fluss`.`product`
SELECT shop_id, user_id, num_orders, total_amount
FROM source_table;

讀取 Fluss 表資料寫入結果表。

文法:

INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`;

樣本:

INSERT INTO sink_table
SELECT shop_id, user_id, num_orders, total_amount
FROM `fluss_catalog`.`fluss`.`product`;

刪除 Fluss Catalog

重要

刪除 Fluss Catalog 不會影響已啟動並執行作業,但會對未上線或需暫停恢複的作業產生影響,請謹慎操作。

UI 方式

  1. 登入Realtime Compute控制台。

  2. 單擊目標工作空間操作列下的控制台。

  3. 在左側導覽列,單擊資料管理。

  4. 在 Catalog 列表頁面,單擊目標 Catalog 名稱對應操作列下的刪除。

  5. 在彈出的對話方塊中,單擊刪除。

  6. 刪除完成後,在左側中繼資料地區查看目標 Catalog 是否已刪除。

SQL 方式

在資料查詢文本編輯地區,輸入以下命令。

DROP CATALOG ${catalog_name};

其中,${catalog_name} 為要刪除的、在Realtime Compute開發控制台上顯示的 Fluss Catalog 名稱。

選中刪除 Catalog 的命令,單擊右上方的運行。

在左側中繼資料地區,查看目標 Catalog 是否已刪除。