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

DataWorks:Serverless Spark バッチノード

最終更新日:Feb 09, 2026

Spark は、大規模データ分析向けの高性能で使いやすいエンジンです。複雑なインメモリコンピューティングを含む幅広いアプリケーションをサポートしており、大規模で低レイテンシーのデータ分析アプリケーションを構築するのに最適です。DataWorks は、DataWorks の EMR Serverless Spark クラスターで Spark タスクを簡単に開発し、定期的にスケジュールできる Serverless Spark バッチノードを提供します。

適用範囲

  • コンピューティングリソースの制限: EMR Serverless Spark コンピューティングリソースのみをアタッチできます。リソースグループとコンピューティングリソースの間でネットワーク接続が利用可能であることを確認してください。

  • リソースグループ: このタイプのタスクを実行するには、サーバーレスリソースグループのみを使用できます。

  • (省略可能) リソースアクセス管理 (RAM) ユーザーの場合、タスク開発用のワークスペースに追加され、[デベロッパー] または [ワークスペース管理者] のロールが割り当てられていることを確認してください。ワークスペース管理者ロールには広範な権限があります。このロールは注意して付与してください。メンバーの追加について詳しくは、「ワークスペースへのメンバー追加」をご参照ください。

    Alibaba Cloud アカウントを使用する場合は、このステップをスキップできます。

ノードの作成

詳細については、「ノードの作成」をご参照ください。

ノードの開発

説明

Serverless Spark バッチタスクを開発する前に、まず EMR で Spark タスクコードを開発し、Java Archive (JAR) パッケージにコンパイルする必要があります。Spark 開発の詳細については、「Spark チュートリアル」をご参照ください。

シナリオに基づいてオプションを選択してください。

オプション 1: EMR JAR リソースのアップロードと参照

DataWorks では、ローカルマシンから DataStudio にリソースをアップロードし、それを参照できます。Serverless Spark バッチタスクをコンパイルした後、コンパイルされた JAR パッケージを取得します。JAR パッケージのサイズに基づいてストレージ方法を選択することをお勧めします。JAR パッケージが 500 MB 未満の場合は、ローカルマシンから DataWorks の EMR JAR リソースとしてアップロードできます。

  1. EMR JAR リソースの作成

    1. ナビゲーションウィンドウで、Resource Management アイコン image をクリックして [Resource Management] ページを開きます。

    2. Resource Management」ページで、アイコン アイコンをクリックし、リソースの作成 > EMR JAR を選択して、名前として spark-examples_2.11-2.4.0.jar を入力します。

    3. [アップロード] をクリックして、spark-examples_2.11-2.4.0.jar をアップロードします。

    4. [ストレージパス][データソース]、および[リソースグループ]を選択します。

      重要

      データソースには、バインドされた Serverless Spark クラスターを選択します。

    5. [保存] ボタンをクリックします。

    image

  2. EMR JAR リソースの参照

    1. 作成した [Serverless Spark Batch] ノードのコードエディタを開きます。

    2. ナビゲーションウィンドウで Resource Management を展開します。参照するリソースを見つけ、そのリソースを右クリックしてから、[Reference Resource] を選択します。

    3. リソースを選択すると、[Serverless Spark バッチ] ノードのコードエディタに成功メッセージが表示されます。これは、リソースが参照されたことを示しています。

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-examples_2.11-2.4.0.jar

      参照ステートメントがコードエディタに自動的に追加されると、リソースが参照されます。このステートメントでは、spark-examples_2.11-2.4.0.jar はアップロードした EMR JAR リソースの名前です。

    4. spark-submit コマンドを追加するために、Serverless Spark バッチノードのコードを書き換えます。次のコードは例を示しています。

      重要
      • Serverless Spark バッチノードのコードエディタはコメントステートメントをサポートしていません。次の例を使用してタスクコードを書き換えてください。コメントを追加しないでください。コメントを追加すると、ノードの実行時にエラーが発生します。

      • EMR Serverless Spark の場合、spark-submit コマンドで deploy-mode パラメーターを指定する必要はありません。クラスターモードのみがサポートされています。

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

      コマンド

      説明

      class

      コンパイルされた JAR パッケージ内のタスクのメインクラス。この例では、メインクラスは org.apache.spark.examples.SparkPi です。

      説明

      パラメーターの詳細については、「spark-submit を使用したタスクの送信」をご参照ください。

オプション 2: OSS リソースを直接参照

ノードで OSS リソースを直接参照できます。EMR ノードを実行すると、DataWorks は OSS リソースをローカルマシンに自動的にダウンロードします。この方法は、EMR タスクが JAR 依存関係で実行する必要があるシナリオや、EMR タスクがスクリプトに依存するシナリオでよく使用されます。

  1. JAR リソースの開発: このトピックでは、SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar を例として使用します。

  2. JAR リソースのアップロード

    1. OSS コンソールにログインします。ナビゲーションウィンドウで、[バケット] をクリックします。

    2. 宛先バケットの名前をクリックして、ファイル管理ページを開きます。

    3. [ディレクトリの作成] をクリックして、JAR リソースを保存するフォルダを作成します。

    4. フォルダに移動し、SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar ファイルをバケットにアップロードします。

  3. JAR リソースの参照

    1. 作成した Serverless Spark バッチノードのエディタページで、コードを編集して JAR リソースを参照します。

      重要

      次のコードでは、OSS バケット名は mybucket、フォルダは emr です。これらを実際のバケット名とフォルダパスに置き換えてください。

      spark-submit --class com.aliyun.emr.example.spark.SparkMaxComputeDemo oss://mybucket/emr/SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar

      パラメーターの説明:

      パラメーター

      説明

      class

      実行するメインクラスの完全名。

      oss ファイルパス

      形式は oss://{bucket}/{object} です。

      • バケット: OSS 内でオブジェクトを格納するためのコンテナーです。各 バケット には一意の名前が付けられています。OSS 管理コンソール にログインして、現在のアカウント配下のすべての [バケット] を表示します。

      • オブジェクト: バケット に保存されているファイル名やパスなどの特定のオブジェクト。

      説明

      パラメーターの詳細については、「spark-submit を使用したタスクの送信」をご参照ください。

ノードのデバッグ

  1. Run Configuration」セクションで、コンピューティングリソースリソースグループなどのパラメーターを設定します。

    構成項目

    説明

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

    バインドされた EMR Serverless Spark コンピューティングリソースを選択します。利用可能なコンピューティングリソースがない場合は、ドロップダウンリストから [コンピューティングリソースの作成] を選択します。

    [リソースグループ]

    ワークスペースにバインドされているリソースグループを選択します。

    [スクリプトパラメーター]

    ノードのコンテンツを設定する際、${ParameterName} フォーマットで変数を定義できます。その後、[スクリプトパラメーター] セクションで [パラメーター名] および [パラメーター値] を指定する必要があります。これらの変数は、実行時に実際の値に動的に置き換えられます。詳細については、「スケジュールパラメーターのソースと式」をご参照ください。

    [ServerlessSpark ノードパラメーター]

    Spark プログラムの実行時パラメーター。次のパラメーターがサポートされています。

    パラメーターは次の形式で構成します: spark.eventLog.enabled : false 。DataWorks は、次の形式で Serverless Spark に送信されるコードにパラメーターを自動的に追加します: --conf key=value

    説明

    DataWorks では、ワークスペースレベルでモジュールごとにグローバル Spark パラメーターを構成できます。また、これらのグローバルパラメーターの優先度をモジュール固有のパラメーターよりも高く設定することもできます。詳細については、「グローバル Spark パラメーターの構成」をご参照ください。

  2. ノードエディターのツールバーで、[実行] をクリックします。

    重要

    公開する前に、[ServerlessSpark ノードパラメーター]Run Configurationから[スケジューリング]用の[ServerlessSpark ノードパラメーター]に同期する必要があります。

次のステップ

  • ノードのスケジュール設定: プロジェクトフォルダ内のノードを定期的に実行する必要がある場合、[スケジューリングポリシー] を設定し、ノードページの右側にある [スケジューリング] セクションでスケジューリングプロパティを設定できます。

  • ノードの公開: タスクを本番環境で実行する必要がある場合は、image アイコンをクリックしてタスクを公開します。プロジェクトフォルダ内のノードは、本番環境に公開された後にのみスケジュールに従って実行されます。

  • ノードの O&M: タスクを公開した後、オペレーションセンターで定期タスクのステータスを表示できます。詳細については、「オペレーションセンターの使用開始」をご参照ください。

関連ドキュメント

付録: DataWorks パラメーター

パラメーター

説明

SERVERLESS_QUEUE_NAME

タスクが送信されるリソースキューを指定します。デフォルトでは、タスクは[デフォルト リソースキュー]に送信されます。このキューは、[管理センター][クラスター管理]セクションでクラスターに設定されています。リソースの隔離と管理が必要な場合は、キューを追加できます。詳細については、「リソースキューの管理」をご参照ください。

構成方法: