全部產品
Search
文件中心

DataWorks:Lindorm Spark節點

更新時間:May 24, 2025

DataWorks的Lindorm Spark節點可進行Lindorm Spark任務的開發和周期性調度。本文為您介紹使用Lindorm Spark節點進行任務開發的主要流程。

背景資訊

Lindorm是雲端式原生架構的分散式運算服務,支援社區版計算模型、相容Spark介面,並深度融合Lindorm儲存引擎特性。能夠利用底層資料存放區特徵及索引能力,高效完成分布式作業任務,適用于海量資料處理、互動式分析、機器學習和圖計算等情境。

前提條件

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

    說明

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

  • 已建立Lindorm執行個體並綁定至DataWorks工作空間,詳情請參見綁定Lindorm計算資源

建立Lindorm Spark節點

建立入口參考:建立Lindorm Spark節點

開發Lindorm Spark節點

您可根據語言類型(如Java/Scala、Python)的不同,在節點中配置引用對應的JAR包檔案或.py檔案。

節點內容配置說明(Java/Scala語言類型)

通過在DataWorks中執行Spark樣本程式SparkPi為例,為您介紹如何配置和使用Lindorm Spark節點。

上傳Jar資源

您需將樣本Jar包資源上傳至LindormDFS中,並複製Jar資源儲存路徑,以供後續在節點中配置引用。

  1. 準備樣本Jar包資源。

    將該樣本Jar包資源spark-examples_2.12-3.3.0.jar下載到本地。

  2. 上傳Jar包資源到LindormDFS。

    1. 登入Lindorm管理主控台,在對應地區的執行個體列表中,找到您所建立的Lindorm執行個體。

    2. 單擊該執行個體名稱,進入執行個體詳情頁。

    3. 在左側導覽列中,單擊計算引擎,進入計算引擎頁面。

    4. 作業管理頁簽中單擊上傳資源按鈕,進入上傳資源頁面。

    5. 單擊上傳虛線框地區,找到並開啟您下載到本地的Jar包資源。

    6. 單擊上傳,完成Jar包資源的上傳。

  3. 複製樣本Jar資源儲存路徑。

    作業管理頁簽,找到上傳資源按鈕下方您所上傳的Jar包資源,單擊資源檔左側的image表徵圖,即可複製您所上傳的Jar資源在LindormDFS的儲存路徑。

配置節點內容

您可參照以下參數配置資訊,配置Lindorm Spark節點內容。

語言類型

參數名稱

參數描述

Java/Scala

主Jar資源

輸入您在上傳Jar資源中複製的樣本Jar資源儲存路徑。

Main Class

為您實際編譯的JAR包中的任務主Class。範例程式碼中的主類名稱為org.apache.spark.examples.SparkPi

參數

填寫您所需傳入代碼的參數資訊。您可將該參數配置為動態參數${var}

配置項

您可在此配置Spark程式運行參數,更多Spark屬性參數設定,請參考作業配置說明

說明

您可以在綁定Lindorm計算資源時設定全域Spark參數。

節點內容配置說明(Python語言類型)

通過在DataWorks中執行Spark樣本程式計算圓周率,為您介紹如何配置和使用Lindorm Spark節點。

上傳Python資源

您需將樣本Python資源檔上傳至LindormDFS中,並複製Jar資源儲存路徑,以供後續在節點中配置引用。

  1. 建立Python資源檔。

    您可以將下面提供的Python指令碼儲存為本地檔案,並命名為 pi.py

    import sys
    from random import random
    from operator import add
    
    from pyspark.sql import SparkSession
    
    if __name__ == "__main__":
        """
            Usage: pi [partitions]
        """
        spark = SparkSession\
            .builder\
            .appName("PythonPi")\
            .getOrCreate()
    
        partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2
        n = 100000 * partitions
    
        def f(_: int) -> float:
            x = random() * 2 - 1
            y = random() * 2 - 1
            return 1 if x ** 2 + y ** 2 <= 1 else 0
    
        count = spark.sparkContext.parallelize(range(1, n + 1), partitions).map(f).reduce(add)
        print("Pi is roughly %f" % (4.0 * count / n))
    
        spark.stop()
    
  2. 上傳Python資源檔到LindormDFS。

    1. 登入Lindorm管理主控台,在對應地區的執行個體列表中,找到您所建立的Lindorm執行個體。

    2. 單擊該執行個體名稱,進入執行個體詳情頁。

    3. 在左側導覽列中,單擊計算引擎,進入計算引擎頁面。

    4. 作業管理頁簽中單擊上傳資源按鈕,進入上傳資源頁面。

    5. 單擊上傳虛線框地區,找到並開啟您在本地建立的Python資源檔。

    6. 單擊上傳,完成Python資源檔的上傳。

  3. 複製樣本Python資源檔儲存路徑。

    作業管理頁簽,找到上傳資源按鈕下方您所上傳的Python資源檔,單擊資源檔左側的image表徵圖,即可複製您所上傳的Python資源檔在LindormDFS的儲存路徑。

配置節點內容

您可參照以下參數配置資訊,配置Lindorm Spark節點內容。

語言類型

參數名稱

參數描述

Python

主程式包

輸入您在上傳Python資源中複製的樣本Python資源檔儲存路徑。

參數

填寫您所需傳入代碼的參數資訊。您可將該參數配置為動態參數${var}

配置項

您可在此配置Spark程式運行參數,更多Spark屬性參數設定,請參見作業配置說明

調試Lindorm Spark節點

  1. 配置調試屬性。

    您可在節點右側調試配置中配置計算資源Lindorm資源群組資源群組資訊,具體參數資訊如下。

    參數名稱

    描述

    計算資源

    選擇您所綁定的Lindorm計算資源。

    Lindorm資源群組

    選擇您在綁定Lindorm計算資源時設定的Lindorm資源群組。

    資源群組

    選擇您綁定Lindorm Spark計算資源時已通過測試連通性的資源群組。

    指令碼參數

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

  2. 調試運行節點。

    執行節點任務,您需單擊儲存運行節點任務。

後續步驟

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

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

  • 資料地圖(Lindorm表資料):您可以前往資料地圖採集Lindorm的中繼資料資訊。