全部產品
Search
文件中心

DataWorks:建立CDH Spark節點

更新時間:Aug 28, 2024

Spark是一個通用的巨量資料分析引擎,具有高效能、易用和普遍性等特點,可用於進行複雜的記憶體分析,構建大型、低延遲的資料分析應用。DataWorks為您提供CDH Spark節點,便於您在DataWorks上進行Spark任務的開發和周期性調度。本文為您介紹如何建立及使用CDH Spark節點。

前提條件

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

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

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

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

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

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

使用限制

支援Serverless資源群組(推薦)或舊版獨享調度資源群組運行該類型任務。

準備工作:開發Spark任務並擷取JAR包

在使用DataWorks調度CDH Spark任務前,您需要先在CDH中開發Spark任務代碼並完成任務代碼的編譯,產生編譯後的任務JAR包,CDH Spark任務的開發指導詳情請參見Spark概述

說明

後續您需要將任務JAR包上傳至DataWorks,在DataWorks中周期性調度CDH Spark任務。

步驟一:建立CDH Spark節點

  1. 進入資料開發頁面。

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

  2. 按右鍵某個商務程序,選擇建立節點 > CDH > CDH Spark

  3. 建立節點對話窗中,配置節點的引擎執行個體、路徑、名稱等資訊。

  4. 單擊確認 ,完成節點建立,後續您可在建立的節點中進行對應任務的開發與配置操作。

步驟二:建立並引用CDH JAR資源

您可以在建立的CDH Spark節點中引用JAR包資源,並編寫CDH Spark節點代碼,通過Spark Submit命令提交任務。具體操作如下:

  1. 建立CDH JAR資源。

    在對應商務程序中,按右鍵CDH > 資源,選擇建立資源 > CDH JAR,在建立資源對話方塊中點擊上傳,選擇需要上傳的檔案。

    image.png

  2. 引用CDH JAR資源。

    1. 開啟建立的CDH節點,停留在編輯頁面。

    2. CDH > 資源 中,找到待引用的資源(樣本為spark-examples_2.11_2.4.0.jar),按右鍵資源名稱,選擇引用資源

      image.png

      引用資源後,若CDH節點的代碼編輯頁面出現##@resource_reference{""}格式的語句,表明已成功引用代碼資源。樣本如下:

      ##@resource_reference{"spark_examples_2.11_2.4.0.jar"}
      spark_examples_2.11_2.4.0.jar
    3. 修改CDH Spark節點代碼,補充Spark Submit命令,修改後的樣本如下。

      重要

      CDH Spark節點編輯代碼時不支援備註陳述式,請務必參考如下樣本改寫任務代碼,不要隨意添加註釋,否則後續運行節點時會報錯。

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-submit --class org.apache.spark.examples.SparkPi --master yarn  spark-examples_2.11-2.4.0.jar 100

      其中:

      • org.apache.spark.examples.SparkPi:為您實際編譯的JAR包中的任務主Class。

      • spark-examples_2.11-2.4.0.jar:為您實際上傳的CDH JAR資源名稱。

步驟三:配置任務調度

如果您需要周期性執行建立的節點任務,可以單擊節點編輯頁面右側的調度配置,根據業務需求配置該節點任務的調度資訊:

  • 配置任務調度的基本資料,詳情請參見配置基礎屬性

  • 配置時間調度周期、重跑屬性和上下遊依賴關係,詳情請參見時間屬性配置說明配置同周期調度依賴

    說明

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

  • 配置資源屬性,詳情請參見配置資源屬性。訪問公網或VPC網路時,請選擇與目標節點網路連通的調度資源群組作為周期調度任務使用的資源群組。詳情請參見網路連通方案

步驟四:調試代碼任務

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

  2. 儲存並運行SQL語句。

    在工具列,單擊儲存表徵圖,儲存編寫的SQL語句,單擊運行表徵圖,運行建立的SQL任務。

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

    如果您希望在開發環境進行煙霧測試 (Smoke Test),可在執行節點提交,或節點提交後執行,煙霧測試 (Smoke Test),操作詳情請參見執行煙霧測試 (Smoke Test)

後續步驟

  1. 提交並發布節點任務。

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

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

    3. 提交新版本對話方塊中,輸入變更描述

    4. 單擊確定

    如果您使用的是標準模式的工作空間,任務提交成功後,需要將任務發布至生產環境進行發布。請單擊頂部功能表列左側的任務發布。具體操作請參見發布任務

  2. 查看周期調度任務。

    1. 單擊編輯介面右上方的營運,進入生產環境營運中心。

    2. 查看啟動並執行周期調度任務,詳情請參見查看並管理周期任務

    如果您需要查看更多周期調度任務詳情,可單擊頂部功能表列的營運中心,詳情請參見營運中心概述

相關情境

DataWorks平台提供了完善的作業調度和監控功能,確保您的Spark作業能夠順利提交到CDH叢集執行。這種方式不僅簡化了作業的營運流程,還使得資源管理更為高效,以下是一些Spark任務的應用情境:

  • 資料分析:利用Spark SQL、Dataset以及DataFrame API進行複雜的資料彙總、篩選和轉換,快速洞察資料。

  • 流處理:利用Spark Streaming處理即時資料流,並進行即時分析和決策。

  • 機器學習任務:使用Spark MLlib進行資料預先處理、特徵提取、模型訓練和評估。

  • 大規模ETL任務:進行巨量資料集的抽取、轉換和載入,為資料倉儲或其他儲存系統準備資料。