すべてのプロダクト
Search
ドキュメントセンター

:Lindorm Spark ノード

最終更新日:Jun 12, 2025

DataWorks では、Lindorm Spark ノードを使用して、Lindorm Spark タスクを開発し、定期的にスケジュールできます。このトピックでは、Lindorm Spark ノードを使用してタスクを開発する方法について説明します。

背景情報

Lindorm は、クラウドネイティブアーキテクチャに基づく分散コンピューティングサービスです。 Community Edition 計算モデルと Apache Spark をサポートし、Lindorm ストレージエンジンの機能と緊密に統合されています。 Lindorm は、基盤となるデータストレージ機能とインデックス機能を使用して、分散ジョブを効率的に完了できます。 Lindorm は、大量データ処理、インタラクティブ分析、機械学習、グラフコンピューティングなど、さまざまなシナリオのコンピューティング要件を満たします。

前提条件

  • (RAM ユーザーを使用する場合に必要) タスクの開発に使用する RAM ユーザーが、必要なワークスペースに追加され、[開発] ロールまたは [ワークスペース管理者] ロールが割り当てられています。 ワークスペース管理者ロールには広範な権限があるため、必要な場合にのみ RAM ユーザーにこのロールを割り当てることをお勧めします。 ワークスペースにメンバーを追加し、メンバーに権限を付与する方法の詳細については、「ワークスペースメンバーを追加し、ロールを割り当てる」をご参照ください。

    説明

    Alibaba Cloud アカウントを使用する場合は、この前提条件は無視してください。

  • Lindorm インスタンスが作成され、コンピューティングリソースとして必要なワークスペースに関連付けられています。 詳細については、「Lindorm コンピューティングリソースを追加する」をご参照ください。

Lindorm Spark ノードを作成する

Lindorm Spark ノードの作成方法については、「Lindorm Spark ノードを作成する」をご参照ください。

Lindorm Spark ノードを構成する

Lindorm Spark ノードの構成タブで、言語タイプ (Java、Scala、Python など) に基づいて JAR パッケージまたは .py ファイルを使用してノードを構成できます。

Lindorm Spark ノードを Java または Scala で構成する

次の例では、サンプルプログラム SparkPi を使用して、Lindorm Spark ノードを構成および使用する方法について説明します。

JAR パッケージをアップロードする

ノード構成で JAR パッケージを実行できるように、サンプル JAR パッケージを LindormDFS にアップロードし、JAR パッケージのストレージの場所をコピーする必要があります。

  1. サンプル JAR パッケージを準備します。

    サンプル JAR パッケージ spark-examples_2.12-3.3.0.jar をコンピューターにダウンロードします。

  2. JAR パッケージを LindormDFS にアップロードします。

    1. Lindorm コンソール にログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 [インスタンス] ページで、作成した Lindorm インスタンスを見つけます。

    2. インスタンス ID/名前列のインスタンス名をクリックして、インスタンスの詳細ページに移動します。

    3. 左側のナビゲーションウィンドウで、[コンピューティングエンジン] をクリックします。

    4. コンピューティングエンジンページの [ジョブ管理] タブで、[リソースのアップロード] をクリックします。

    5. xxx ページで、アップロード用の破線のボックスエリアをクリックし、ダウンロードした JAR パッケージリソースを見つけて [開く] をクリックします。

    6. [アップロード] をクリックします。

  3. サンプル JAR パッケージのストレージパスをコピーします。

    [ジョブ管理] タブで、リソースのアップロードの下にアップロードした JAR パッケージを見つけます。 パッケージの左側にある image アイコンをクリックして、LindormDFS 内の JAR パッケージのストレージパスをコピーします。

Lindorm Spark ノードを構成する

次の表で説明されているパラメーターを構成して、Lindorm Spark ノードを構成できます。

言語

パラメーター

説明

Java または Scala

メイン JAR リソース

JAR パッケージをアップロードする セクションでコピーしたサンプル JAR パッケージのストレージパスを入力します。

メインクラス

コンパイル済み JAR パッケージ内のタスクのメインクラス。 サンプルコードのメインクラスの名前は org.apache.spark.examples.SparkPi です。

パラメーター

コードで構成するパラメーター。 ${var} 形式でパラメーターを動的パラメーターとして構成できます。

構成アイテム

ここで Spark プログラムの実行時パラメーターを構成できます。 Spark プロパティパラメーター設定の詳細については、「ジョブ構成の指示」をご参照ください。

説明

Lindorm 計算リソースを追加する際に、グローバル Spark パラメーターを構成できます。

Lindorm Spark ノードを Python で構成する

次の例では、サンプル Spark プログラムを使用して円周率 (π) の値を計算し、Lindorm Spark ノードを構成および使用する方法について説明します。

Python リソースをアップロードする

ノード構成で JAR パッケージを実行できるように、サンプル 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]  # 使用方法: pi [パーティション]
        """
        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)) # Pi のおおよその値は %f です
    
        spark.stop()
    
  2. Python リソースを LindormDFS にアップロードします。

    1. Lindorm コンソール にログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 [インスタンス] ページで、作成した Lindorm インスタンスを見つけます。

    2. インスタンス ID/名前列のインスタンス名をクリックして、インスタンスの詳細ページに移動します。

    3. 左側のナビゲーションウィンドウで、[コンピューティングエンジン] をクリックします。

    4. コンピューティングエンジンページの [ジョブ管理] タブで、[リソースのアップロード] をクリックします。

    5. 点線のボックスをクリックします。 表示されるダイアログボックスで、ダウンロードした Python リソースを選択し、[開く] をクリックします。

    6. [アップロード] をクリックします。

  3. サンプル JAR パッケージのストレージパスをコピーします。

    [ジョブ管理] タブで、リソースのアップロードの下にアップロードした JAR パッケージを見つけます。 パッケージの左側にある image アイコンをクリックして、LindormDFS 内の JAR パッケージのストレージパスをコピーします。

Lindorm Spark ノードを構成する

次の表で説明されているパラメーターを構成して、Lindorm Spark ノードを構成できます。

言語

パラメーター

説明

Python

メインパッケージ

Python リソースをアップロードする でコピーしたサンプルコードファイルのストレージの場所。

パラメーター

コードで構成するパラメーター。 ${var} 形式でパラメーターを動的パラメーターとして構成できます。

構成アイテム

ここで Spark プログラムの実行時パラメーターを構成できます。 Spark プロパティパラメーター設定の詳細については、「ジョブ構成の指示」をご参照ください。

Lindorm Spark ノードをデバッグする

  1. Lindorm Spark ノードのデバッグプロパティを構成します。

    Lindorm Spark ノードの構成タブの右側のナビゲーションウィンドウにある [デバッグ構成] タブで、次の表で説明されているパラメーターを構成します。

    パラメーター

    説明

    コンピューティングリソース

    ワークスペースに関連付ける Lindorm コンピューティングリソースを選択します。

    Lindorm リソースグループ

    Lindorm コンピューティングリソースをワークスペースに関連付ける際に指定した Lindorm リソースグループを選択します。

    リソースグループ

    Lindorm コンピューティングリソースをワークスペースに関連付ける際に接続テストに合格したリソースグループを選択します。

    スクリプトパラメーター

    Lindorm Spark ノードを構成する際に ${パラメーター名} 形式で変数を定義した場合は、[スクリプトパラメーター] セクションで [パラメーター名] パラメーターと [パラメーター値] パラメーターを構成する必要があります。 Lindorm Spark ノードが実行されると、構成したパラメーターは動的に実際の値に置き換えられます。 詳細については、「スケジューリングパラメーターのサポートされている形式」をご参照ください。

  2. Lindorm Spark ノードをデバッグして実行します。

    ノードを [保存] し、[実行] します。

次のステップ

  • ノードのスケジューリング注:スケジューリングポリシー: ワークスペースディレクトリ内のノードをシステムで定期的にスケジュールするには、ノードの構成タブの右側のナビゲーションウィンドウで をクリックし、 セクションでノードのスケジューリングプロパティを構成します。

  • ノードのデプロイ: 実行のためにノードを本番環境にデプロイするには、ノードの構成タブの上部にあるツールバーの image アイコンをクリックして、デプロイプロセスを開始します。 ワークスペースディレクトリ内のノードは、本番環境にデプロイされている場合にのみ定期的にスケジュールできます。