查詢指令碼支援Call和DDL、DQL、DML文法。您可以通過查詢指令碼建立管理Catalog、表、資料查詢,可以使用explain文法查看執行計畫定位問題,也可以實現對Paimon的管理。
功能
對SQL文法進行校正,校正失敗無法運行。
支援指令碼全部語句運行和選中部分語句運行。
支援Call命令和DDL、DQL、DML文法。
重要對DDL或DML語句運行將會直接影響線上中繼資料或資料,請謹慎操作。
編寫的內容每分鐘進行一次自動儲存,您也可以選擇手動將臨時查詢持久化儲存在左側檔案夾下。
操作步驟
單擊目標工作空間操作列下的控制台。
在頁面,單擊查詢指令碼頁簽。
單擊
,建立查詢指令碼。填寫SQL代碼。支援Call命令和DDL、DQL、DML文法。
建立MySQL Catalog和查詢表的SQL程式碼範例如下:
建立MySQL Catalog:具體可參見建立MySQL Catalog。
CREATE CATALOG mysql_catalog WITH( 'type' = 'mysql', 'hostname' = 'rm-bp1x********.mysql.rds.aliyuncs.com', 'port' = '3306', 'username' = 'db_user', 'password' = '${secret_values.mysqlpw}', 'default-database' = 'flinktest' );查詢表:預設使用批模式。
批模式:只能用於有邊界的作業,這樣做會更高效。(有界:資料集的大小已確定。)
流模式:既可用於有邊界作業,也可用於無邊界作業。當您的作業是無邊界的時候,必須使用流模式才能處理連續的資料流。(無界:資料集的大小未知或者是無限的。)您可以使用SET文法修改為流模式。
說明查詢指令碼不支援使用變數管理。
SET 'execution.runtime-mode' = 'streaming'; SELECT * FROM `mysql_catalog`.flinktest.orders;
選擇或建立Session叢集。
單擊頁面右下角的執行環境,選擇對應版本的Session叢集(VVR 8.0.4及以上引擎版本)。如果沒有,請參見步驟一:建立Session叢集。
選中目標程式碼片段後,單擊程式碼左側的運行。
(可選)單擊右上方的儲存,設定檔案名稱和儲存位置。
常見問題
在資料查詢頁面運行指令碼時,報錯:Querying an unbounded table 'XXX' in batch mode is not allowed. The table source is unbounded.
報錯原因:
當前Source為無界流,批作業要求Source是有界流。請根據以下定義判斷資料流類型。
有界流:資料集的大小已確定。
無界流:資料集的大小未知或者是無限的。
解決方案:
使用SET文法修改為流模式。
SET 'execution.runtime-mode' = 'streaming';在新增作業,重新執行。
在新增作業後,通過調試功能查看運行結果,或者部署後查看運行結果。
相關文檔
建立Session叢集:步驟一:建立Session叢集
建立或管理Catalog:資料管理
資料查詢的相關實踐情境:基於Flink+Paimon+StarRocks搭建流式湖倉
關於平台的更多新功能:功能發布記錄