全部產品
Search
文件中心

DataWorks:Serverless Spark SQL節點

更新時間:Feb 26, 2026

通過建立Serverless Spark SQL節點,實現基於EMR Serverless Spark計算資源的分布式SQL查詢引擎處理結構化資料,提高作業的執行效率。

適用範圍

  • 計算資源限制:僅支援綁定EMR Serverless Spark計算資源,需確保資源群組和計算資源網路連通。

  • 資源群組限制:僅支援使用Serverless資源群組運行該類型任務。

  • (可選,RAM帳號需要)進行任務開發的RAM帳號已被添加至對應工作空間中,並具有開發空間管理員(許可權較大,謹慎添加)角色許可權,新增成員的操作詳情請參見為工作空間增加空間成員

    如果您使用的是主帳號,則可忽略該添加操作。

建立節點

建立入口參考:建立節點

開發節點

在SQL編輯地區開發工作單位代碼,文法支援catalog.database.tablename。若省略catalog,即為叢集預設Catalog;若省略catalog.database,即為叢集預設Catalog的預設資料庫。

Catalog更多資訊,請參見EMR Serverless Spark 管理資料目錄
-- 需替換 <catalog.database.tablename> 
SELECT * FROM <catalog.database.tablename> 

在代碼中使用${變數名}的方式定義變數,並在節點編輯頁面右側調度配置調度參數中為該變數賦值。實現調度情境下代碼的動態傳參,調度參數使用詳情,請參考調度參數來源及其運算式,樣本如下。

SHOW TABLES; 
-- 通過${var}定義名為var的變數,若將該變數賦值${yyyymmdd},可通過調度任務實現建立以業務日期作為尾碼的表。
CREATE TABLE IF NOT EXISTS userinfo_new_${var} (
  ip STRING COMMENT'IP地址',
  uid STRING COMMENT'使用者ID'
)PARTITIONED BY(
  dt STRING
); --可以結合調度參數使用。
說明

SQL語句最大不能超過130KB。

調試節點

  1. 回合組態選擇配置計算資源資源群組

    配置項

    說明

    計算資源

    選擇已綁定的EMR Serverless Spark計算資源。若無可用計算資源,可在下拉框中選擇建立計算資源

    資源群組

    選擇已綁定工作空間的資源群組。

    指令碼參數

    在配置節點內容時,通過${參數名}的方式定義變數,需要在指令碼參數處配置參數名參數值資訊,任務運行時會將它動態替換為真實的取值。詳情請參見調度參數來源及其運算式

    ServerlessSpark節點參數

    Spark程式運行參數,支援:

  2. 在節點編輯頁面上方工具列,單擊運行SQL任務。

    重要

    發布前,需將回合組態ServerlessSpark節點參數同步至調度配置ServerlessSpark節點參數處。

後續步驟

  • 節點調度配置:若專案目錄下的節點需要周期性調度執行,您需要在節點右側的調度配置中設定調度策略,配置相關的調度屬性。

  • 節點發布:若任務需要發布至生產環境執行,請單擊介面image表徵圖喚起發布流程,通過該流程將任務發布至生產環境。專案目錄下的節點只有在發布至生產環境後,才會進行周期性調度。

  • 任務營運:任務發布後,您可以在營運中心查看周期任務的運行情況。詳情請參見營運中心入門

附錄:DataWorks參數

進階參數

配置說明

FLOW_SKIP_SQL_ANALYZE

SQL語句執行方式。取值如下:

  • true:表示每次執行多條SQL語句。

  • false(預設值):表示每次執行一條SQL語句。

說明

該參數僅支援用於資料開發環境測試回合流程。

DATAWORKS_SESSION_DISABLE

任務提交方式。在資料開發執行任務時,預設將任務提交至SQL Compute執行。您可以通過該參數指定任務是通過SQL Compute執行還是提交到隊列執行。

  • true:任務提交到隊列執行。預設使用綁定計算資源時指定的預設隊列。當DATAWORKS_SESSION_DISABLE參數為true時,您可以配置SERVERLESS_QUEUE_NAME參數來指定資料開發執行時任務提交的隊列。

  • false(預設值):任務提交到SQL Compute執行。

    說明

    該參數僅在資料開發執行時生效,調度運行時不生效。

SERVERLESS_RELEASE_VERSION

Spark引擎版本,預設使用管理中心計算資源中叢集配置的預設引擎版本。如需為不同任務設定不同的引擎版本,您可在此進行設定。

說明

註冊叢集指定的SQL Compute(會話)在EMR Serverless Spark控制台處於未啟動狀態的時候,進階設定配置中的SERVERLESS_RELEASE_VERSION參數才會生效。

SERVERLESS_QUEUE_NAME

指定任務確定資源隊列。當任務指定提交到隊列執行時,預設使用管理中心叢集管理中叢集配置的預設資源隊列。如有資源隔離和管理需求,可通過添加隊列實現。詳情請參見管理資源隊列

配置方式:

  • 通過設定節點參數指定任務確定資源隊列。

  • 通過設定全域Spark參數指定任務確定資源隊列。

說明
  • 註冊叢集指定的SQL Compute(會話)在EMR Serverless Spark控制台處於未啟動狀態的時候,進階設定配置中的SERVERLESS_QUEUE_NAME參數才會生效。

  • 資料開發執行時:您需要先將DATAWORKS_SESSION_DISABLE設定為true,任務才會提交到隊列執行。此時配置SERVERLESS_QUEUE_NAME參數指定任務隊列才會生效。

  • 營運中心調度執行時:任務會強制提交到隊列執行,無法提交到SQL Compute執行。

SERVERLESS_SQL_COMPUTE

指定SQL Compute(SQL會話),預設使用管理中心計算資源中叢集配置的預設SQL Compute。如需面向不同任務設定不同的SQL會話,您可在此進行設定。如需建立管理SQL會話,詳情請參見管理SQL會話

其他

自訂Spark Configuration參數,添加Spark特有屬性參數。

配置格式如下: spark.eventLog.enabled : false ,DataWorks會自動在最終下發EMR叢集的代碼中進行補全,格式為:--conf key=value

說明

DataWorks支援您設定全域Spark參數,即按照工作空間粒度指定DataWorks各模組使用的Spark參數,您可自行指定該全域Spark參數的優先順序是否高於指定模組內的Spark參數。關於設定全域Spark參數,詳情請參見設定全域Spark參數