Spark是一個通用的巨量資料分析引擎,具有高效能、易用和普遍性等特點,可用於進行複雜的記憶體分析,構建大型、低延遲的資料分析應用。DataWorks為您提供CDH Spark節點,便於您在DataWorks上進行Spark任務的開發和周期性調度。本文為您介紹如何配置及使用CDH Spark節點。
前提條件
已建立阿里雲CDH叢集,並綁定至DataWorks工作空間。操作詳情請參見新版資料開發:綁定CDH計算資源。
重要已在CDH叢集安裝Spark組件,並在綁定叢集時配置Spark相關資訊。
(可選,RAM帳號需要)進行任務開發的RAM帳號已被添加至對應工作空間中,並具有開發或空間管理員(許可權較大,謹慎添加)角色許可權,新增成員的操作詳情請參見為工作空間增加空間成員。
說明如果您使用的是主帳號,則可忽略該添加操作。
已在DataWorks配置Hive資料來源並通過連通性測試,詳情請參見資料來源管理。
準備工作:開發Spark任務並擷取JAR包
在使用DataWorks調度CDH Spark任務前,您需要先在CDH中開發Spark任務代碼並完成任務代碼的編譯,產生編譯後的任務JAR包,CDH Spark任務的開發指導詳情請參見Spark概述。
建立CDH JAR資源
您可將任務JAR包上傳至DataWorks,後續即可通過DataWorks對CDH上的Spark任務進行周期性調度。
詳情請參見資源管理。可將JAR包通過本地上傳的方式上傳到JAR資源的存放目錄下。單擊點擊上傳按鈕,上傳JAR資源。
選擇儲存路徑、資料來源及資源群組。
單擊儲存按鈕進行儲存。
建立節點
建立入口參考:建立節點。
開發節點
在CDH Spark節點編輯頁面,執行如下開發操作。
引用CDH JAR資源
開啟建立的CDH Spark節點,停留在代碼編輯頁面。
在左側導覽列的資源管理中找到待引用資源,右鍵選擇引用資源。
選擇引用後,若CDH Spark節點的代碼編輯頁面出現
##@resource_reference{""}格式的語句,表明已成功引用代碼資源。此時,需要執行下述命令。如下命令涉及的資源套件、Bucket名稱、路徑資訊等為本文樣本的內容,使用時,您需要替換為實際使用資訊。
##@resource_reference{"spark_examples_2.11_2.4.0.jar"}
spark_examples_2.11_2.4.0.jar編輯CDH Spark節點代碼
修改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 100org.apache.spark.examples.SparkPi:為您實際編譯的JAR包中的任務主Class。spark-examples_2.11-2.4.0.jar:為您實際上傳的CDH JAR資源名稱。
調試節點
在回合組態的計算資源中,選擇配置計算資源和資源群組。
計算資源選擇您在DataWorks上註冊的CDH叢集名稱。
資源群組選擇與資料來源測試連通性成功的調度資源群組。詳情請參見網路連通方案。
說明您還可以根據任務執行所需的資源情況來調整計算 CU。預設CU為
0.5。在節點編輯頁面上方工具列,單擊運行任務。
表徵圖喚起發布流程,通過該流程將任務發布至生產環境。專案目錄下的節點只有在發布至生產環境後,才會進行周期性調度。