全部產品
Search
文件中心

DataWorks:建立CDH Spark SQL節點

更新時間:Aug 28, 2024

Spark SQL可實現分布式SQL查詢引擎處理結構化資料,提高作業的執行效率。DataWorks的CDH Spark SQL節點可進行CDH Spark SQL任務的開發和周期性調度,以及與其他作業的整合操作。本文為您介紹如何建立及使用CDH Spark SQL節點。

前提條件

  • 資料開發(DataStudio)中已建立商務程序。

    資料開發(DataStudio)基於商務程序對不同開發引擎進行具體開發操作,所以您建立節點前需要先建立商務程序,操作詳情請參見建立商務程序

  • 已建立阿里雲CDH叢集,並註冊CDH叢集至DataWorks。

    建立CDH相關節點並開發CDH任務前,您需要先將CDH叢集註冊至DataWorks工作空間,操作詳情請參見註冊CDH叢集至DataWorks

  • 已購買Serverless資源群組,並完成資源群組的相關配置(包括綁定工作空間、網路設定)等,詳情請參見新增和使用Serverless資源群組

使用限制

僅支援使用Serverless資源群組運行CDH Spark SQL節點任務。

步驟一:建立CDH Spark SQL節點

  1. 進入資料開發頁面。

    登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料建模與開發 > 資料開發,在下拉框中選擇對應工作空間後單擊進入資料開發

  2. 按右鍵目標商務程序,選擇建立節點 > CDH > CDH Spark SQL

  3. 建立節點對話方塊輸入節點名稱,單擊確認。節點建立完成,您可在節點中進行對應任務的開發與配置。

步驟二:開發CDH Spark SQL任務

(可選)選擇CDH叢集執行個體

若您的工作空間註冊了多個CDH叢集,則可在節點編輯頁面頂部選擇合適的叢集。若僅註冊了一個CDH叢集,預設使用該叢集進行開發操作。

image

開發SQL代碼

開發SQL代碼:簡單樣本

在CDH Spark SQL節點的代碼編輯地區編寫要執行的任務。

樣本在test_spark資料庫中建立test_lineage_table_f1test_lineage_table_t2表,並且從test_lineage_table_f1表向test_lineage_table_t2表複製資料,代碼如下:

說明

本樣本僅為參考,實際使用時請替換為您自己的資料庫環境。

CREATE TABLE IF NOT EXISTS test_spark.test_lineage_table_f1 (`id` BIGINT, `name` STRING)
PARTITIONED BY (`ds` STRING);
CREATE TABLE IF NOT EXISTS test_spark.test_lineage_table_t2 AS SELECT * FROM test_spark.test_lineage_table_f1;
INSERT into test_spark.test_lineage_table_t2 SELECT * FROM test_spark.test_lineage_table_f1;

開發SQL代碼:使用調度參數

DataWorks提供的調度參數可實現周期調度情境下代碼動態入參,您可在節點任務中通過${變數名}的方式定義代碼中的變數,並在節點編輯頁面右側導覽列的調度配置>調度參數,為該變數賦值。調度參數支援的格式及配置詳情,請參見調度參數支援的格式配置並使用調度參數

範例程式碼如下。

SELECT '${var}'; --可結合調度參數使用。

(可選)配置進階參數

在CDH Spark SQL節點編輯頁面,單擊右側導覽列的進階設定,即可配置任務運行相關的參數。例如:

  • "spark.driver.memory": "2g":用於設定分配給Spark驅動節點的記憶體大小。

  • "spark.yarn.queue": "haha":用於設定應用程式提交到YARN的哪個隊列。

更多進階參數的配置,請參見Spark Configuration

步驟三:配置任務調度

如您需要周期性執行建立的節點任務,可單擊節點編輯頁面右側的調度配置,根據業務需求配置該節點任務的調度資訊。配置詳情請參見任務調度屬性配置概述

說明

您需要設定節點的重跑屬性依賴的上遊節點,才可以提交節點。

步驟四:調試任務代碼

您可根據需要執行如下調試操作,查看任務是否符合預期。

  1. (可選)選擇運行資源群組、賦值自訂參數取值。

    • 單擊工具列的進階運行表徵圖,在參數對話方塊選擇調試運行需使用的調度資源群組。

    • 如您的任務代碼中有使用調度參數變數,可在此處為變數賦值,用於調試。參數賦值邏輯,詳情請參見任務調試流程

  2. 儲存並運行任務代碼。

    單擊工具列的儲存表徵圖,儲存編寫的任務代碼,單擊運行表徵圖,運行建立的任務。

  3. (可選)煙霧測試 (Smoke Test)。

    如您希望在開發環境進行煙霧測試 (Smoke Test),查看調度節點任務的執行是否符合預期,則可在節點提交時,或節點提交後執行煙霧測試 (Smoke Test),操作詳情請參見執行煙霧測試 (Smoke Test)

步驟五:提交發布任務

節點任務配置完成後,需執行提交發佈動作,提交發布後節點即會根據調度配置內容進行周期性運行。

  1. 單擊工具列中的儲存表徵圖,儲存節點。

  2. 單擊工具列中的提交表徵圖,提交節點任務。

    提交時需在提交對話方塊中輸入變更描述,並根據需要選擇是否在節點提交後執行程式碼檢閱。

    說明
    • 您需設定節點的重跑屬性依賴的上遊節點,才可提交節點。

    • 程式碼檢閱可對任務的代碼品質進行把控,防止由於任務代碼有誤,未經審核直接發布上線後出現任務報錯。如進行程式碼檢閱,則提交的節點代碼必須通過評審人員的審核才可發布,詳情請參見程式碼檢閱

如您使用的是標準模式的工作空間,任務提交成功後,需單擊節點編輯頁面右上方的發布,將該任務發布至生產環境執行,操作請參見發布任務

後續步驟

  • 任務營運:任務提交發布後,會基於節點的配置周期性運行,您可單擊節點編輯介面右上方的營運,進入營運中心查看周期任務的調度運行情況。詳情請參見查看並管理周期任務

  • 查看血緣:任務提交發布後,您可在資料地圖查看任務的血緣關係(例如,查看未經處理資料來源及表資料最終流向的資料庫相關資訊),根據需求進行不同層級血緣的影響分析。詳情請參見血緣查看