全部產品
Search
文件中心

Realtime Compute for Apache Flink:管理StarRocks Catalog

更新時間:Jul 13, 2024

Catalog提供了中繼資料資訊,例如資料庫、表、分區以及資料庫或其他外部系統中儲存的函數和資訊。配置StarRocks Catalog後,您可以在Realtime Compute開發控制台直接讀取StarRocks中繼資料,無需再手動註冊StarRocks表,提高作業開發的效率且保證資料的正確性。本文為您介紹如何在建立、查看、使用及刪除StarRocks Catalog。

使用限制

  • 僅Realtime Compute引擎VVR-6.0.6-Flink-1.15及以上版本支援配置StarRocks Catalog。

  • 不支援通過Catalog建立和修改StarRocks表。

建立StarRocks Catalog

支援UI與SQL命令兩種方式配置StarRocks Catalog,推薦使用UI方式配置StarRocks Catalog。

UI方式

  1. 進入中繼資料管理頁面。

    1. 登入Realtime Compute控制台,單擊目標工作空間操作列下的控制台

    2. 單擊中繼資料管理

  2. 單擊建立Catalog,選擇StarRocks,單擊下一步

  3. 填寫參數配置資訊。

    重要

    Catalog建立完成後,以下配置資訊都不支援修改。如果需要修改,則您需要刪除掉已建立的Catalog,重新進行建立。

    image

    配置項

    說明

    是否必填

    備忘

    catalog name

    StarRocks Catalog名稱。

    僅支援小寫字母a-z和數字0-9,不含大寫字母、中劃線(-)、底線(_)等特殊字元。

    endpoint

    StarRocks的FE(Front End)訪問地址。

    指定FE的IP和JDBC連接埠,格式為jdbc:mysql://ip:port。一般為9030。

    dbname

    訪問StarRocks的預設資料庫名稱。

    無。

    username

    訪問StarRocks的使用者名稱。

    無。

    password

    訪問StarRocks的密碼。

    為了避免您的密碼泄露,建議您通過密鑰管理的方式填寫密碼取值,詳情請參見變數和密鑰管理

  4. 單擊確定

  5. 在左側中繼資料地區,查看建立的Catalog。

SQL命令

  1. 查詢指令碼文本編輯地區,輸入建立StarRocks Catalog的命令。

    CREATE CATALOG <catalogname> WITH (
      'type' = 'starrocks',
      'endpoint' = '<ip>:<port>', 
      'username' = '<userName>',
      'password' = '<password>',
      'dbname' = '<dbname>'
    );

    配置項

    說明

    是否必填

    備忘

    catalogname

    StarRocks Catalog名稱。

    僅支援小寫字母a-z和數字0-9,不含大寫字母、中劃線(-)、底線(_)等特殊字元。

    type

    類型。

    固定值為starrocks。

    endpoint

    StarRocks的FE(Front End)訪問地址。

    指定FE的IP和JDBC連接埠,格式為jdbc:mysql://ip:port。一般為9030。

    username

    訪問StarRocks的使用者名稱。

    無。

    password

    訪問StarRocks的密碼。

    為了避免您的密碼泄露,建議您通過密鑰管理的方式填寫密碼取值,詳情請參見變數和密鑰管理

    dbname

    訪問StarRocks的預設資料庫名稱。

    無。

  2. 選中建立Catalog的代碼後,單擊左側程式碼數上的運行

    image..png

查看StarRocks Catalog

StarRocks Catalog配置成功後,您可以通過以下步驟查看StarRocks中繼資料。

  1. 進入中繼資料管理頁面。

    1. 登入Realtime Compute控制台

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

    3. 單擊中繼資料管理

  2. Catalog列表頁面,查看Catalog名稱類型

    說明

    如果您需要查看Catalog下的資料庫和表,請單擊查看

使用StarRocks Catalog

從StarRocks表中讀取資料

INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`
    /*+
        OPTIONS('connector' = 'starrocks', 'jdbc-url' = 'jdbc:mysql://ip:port', 'scan-url' = 'ip:port')
    */
說明

OPTIONS為必填項,用於配置讀取starrocks源表的參數。

寫入結果資料至StarRocks表

INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
 /*+
        OPTIONS('connector' = 'starrocks', 'jdbc-url' = 'jdbc:mysql://ip:port', 'load-url' = 'ip:port', 'sink.buffer-flush.interval-ms' = '5000','sink.properties.row_delimiter' = '\x02',
'sink.properties.column_separator' = '\x01')
    */
SELECT ... 
FROM ${other_source_table}
說明

OPTIONS為必填項,用於配置寫入starrocks結果表的參數。

作為CTAS&CDAS的目標端Catalog

use catalog sr_catalog;

CREATE TABLE IF NOT EXISTS `${table_name}`
WITH (
  ...
) AS TABLE ${other_source_table};


CREATE DATABASE IF NOT EXISTS `${db_name}`
WITH (
 ...
) AS DATABASE ${other_source_database};

詳情請參見基於Realtime ComputeFlink使用CTAS&CDAS功能同步MySQL資料至StarRocks

刪除StarRocks Catalog

支援UI與SQL命令兩種方式刪除StarRocks Catalog,推薦使用UI方式刪除StarRocks Catalog。

UI方式

  1. 進入中繼資料管理頁面。

    1. 登入Realtime Compute控制台

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

    3. 單擊中繼資料管理

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

  3. 在彈出的提示頁面中,單擊刪除

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

SQL命令方式

  1. 查詢指令碼文本編輯地區,輸入以下命令。

    DROP CATALOG `<catalog name>`;

    其中,<catalog name>是您StarRocks Catalog的名稱。

    重要

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

  2. 選中刪除Catalog的命令,滑鼠右鍵選擇運行

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