Apache Kyuubi是一個分布式和多租戶網關,為資料湖查詢引擎(例如Spark、Flink或Trino等)提供SQL等查詢服務。DataWorks的EMR Kyuubi節點可進行Kyuubi任務的開發和周期性調度,以及與其他作業的整合操作。本文為您介紹如何配置使用EMR Kyuubi節點並進行資料開發。
前提條件
已建立阿里雲EMR叢集,並註冊EMR叢集至DataWorks。操作詳情請參見新版資料開發:綁定EMR計算資源。
(可選,RAM帳號需要)進行任務開發的RAM帳號已被添加至對應工作空間中,並具有開發或空間管理員(許可權較大,謹慎添加)角色許可權,新增成員的操作詳情請參見為工作空間增加空間成員。
如果您使用的是主帳號,則可忽略該添加操作。
使用限制
僅支援使用Serverless資源群組(推薦)或獨享調度資源群組運行該類型任務。
操作步驟
在EMR Kyuubi節點編輯頁面,執行如下開發操作。
開發SQL代碼
在SQL編輯地區開發工作單位代碼,您可在代碼中使用${變數名}的方式定義變數,並在節點編輯頁面右側調度配置的調度參數中為該變數賦值。實現調度情境下代碼的動態傳參,調度參數使用詳情,請參考調度參數來源及其運算式,樣本如下。
SHOW TABLES; SELECT * FROM kyuubi040702 WHERE age >= '${a}'; --可以結合調度參數使用。說明SQL語句最大不能超過130KB。
(可選)配置進階參數
您可在節點右側調度配置的中配置下表特有屬性參數。
說明更多開源Spark屬性參數,可在節點右側調度配置的中進行配置。
進階參數
配置說明
queue
提交作業的調度隊列,預設為
default隊列。說明若註冊EMR叢集至DataWorks工作空間配置了工作空間層級的YARN資源隊列,則Kyuubi任務運行時選擇調度隊列的規則如下:
全域配置是否優先配置為是:使用註冊EMR叢集時配置的調度隊列。
未配置全域配置是否優先:使用EMR Kyuubi節點配置的調度隊列。
關於EMR YARN的說明,請參見隊列基礎配置;註冊EMR叢集時的隊列配置,請參見設定全域YARN資源隊列。
priority
優先順序,預設為1。
FLOW_SKIP_SQL_ANALYZE
SQL語句執行方式。取值如下:
true:表示每次執行多條SQL語句。false(預設值):表示每次執行一條SQL語句。
說明該參數僅支援用於資料開發環境測試回合流程。
DATAWORKS_SESSION_DISABLE
適用於開發環境直接測試回合情境。取值如下:
true:表示每次運行SQL語句都會建立一個JDBC Connection。false(預設值):表示使用者在一個節點裡運行不同的SQL語句時會複用同一個JDBC Connection。
說明該參數配置為
false時不會列印Hive的yarn applicationId,如需列印yarn applicationId,請將該參數配置為true。執行SQL任務
在回合組態的計算資源中,選擇配置計算資源和DataWorks資源群組。
說明您還可以根據任務執行所需的資源情況來調度 CU。預設CU為
0.25。訪問公用網路或VPC網路環境的資料來源需要使用與資料來源測試連通性成功的調度資源群組。詳情請參見網路連通方案。
在工具列的參數對話方塊中選擇已建立的資料來源,單擊運行SQL任務。
如需定期執行節點任務,請根據業務需求配置調度資訊。配置詳情請參見節點調度配置。
節點任務配置完成後,需對節點進行發布。詳情請參見節點/工作流程發布。
任務發布後,您可以在營運中心查看周期任務的運行情況。詳情請參見營運中心入門。
常見問題
Q:節點運行出現連線逾時?
A:請確保資源群組和叢集的網路聯通。請進入計算資源的列表頁,單擊資源初始化,在彈窗中單擊再次初始化,確保成功初始化。

