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

:Serverless Spark Batch ノード

最終更新日:Nov 10, 2025

Spark は、大規模なデータ分析のための、パフォーマンス専有型で使いやすいエンジンです。複雑なインメモリコンピューティングを含む幅広いアプリケーションをサポートしており、大規模で低レイテンシーのデータ分析アプリケーションの構築に最適です。DataWorks は、DataWorks 内の EMR Serverless Spark クラスター上で Spark タスクを簡単に開発およびスケジュールできる Serverless Spark Batch ノードを提供します。

制限事項

  • 計算リソース: アタッチされた EMR Serverless Spark 計算リソース のみを使用できます。リソースグループと計算リソースが相互に接続できることを確認してください。

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

  • (オプション) Resource Access Management (RAM) ユーザーの場合は、タスク開発用のワークスペースに追加され、[開発者] または [ワークスペース管理者] ロールが割り当てられていることを確認してください。ワークスペース管理者ロールには広範な権限があります。このロールは慎重に付与してください。メンバーの追加に関する詳細については、「ワークスペースにメンバーを追加する」をご参照ください。

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

ノードの作成

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

ノードの開発

説明

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

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

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

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

  1. EMR JAR リソースを作成します。

    1. 左側のナビゲーションウィンドウで、リソース管理アイコン image をクリックして [リソース管理] ページに移動します。

    2. [リソース管理] ページで、image アイコンをクリックし、[新規リソース] > [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. 左側のナビゲーションウィンドウで、リソース管理に移動します。参照したいリソースを見つけ、リソースを右クリックして [リソースの参照] を選択します。

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

      ##@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. Serverless Spark Batch ノードのコードを書き換えて、spark-submit コマンドを追加します。次のコードは例です。

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

      • spark-submit を使用して送信されるタスクの場合、deploy-mode パラメーターを cluster に設定することをお勧めします。パラメーターを client に設定することはお勧めしません。

      ##@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

      コマンド

      説明

      class

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

      master

      Spark アプリケーションの実行モード。Spark ノードは、Yarn クラスターモードを使用したジョブの送信のみをサポートします。

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

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

  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 Batch ノードのエディターページで、コードを編集して JAR リソースを参照します。

      重要

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

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

      参照されるメトリックの説明:

      パラメーター

      説明

      class

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

      master

      Spark アプリケーションの実行モード。

      oss ファイルパス

      フォーマットは oss://{bucket}/{object} です

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

      • [オブジェクト]: [バケット] に格納されている特定のオブジェクト (ファイル名またはパス)。

ノードのテスト

  1. [テスト構成] セクションで、[計算リソース][リソースグループ] などのパラメーターを構成します。

    構成項目

    説明

    計算リソース

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

    リソースグループ

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

    スクリプトパラメーター

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

    ServerlessSpark ノードパラメーター

    Spark プログラムの実行時パラメーター。Spark プロパティパラメーター設定の詳細については、「オープンソースの Spark プロパティ」をご参照ください。

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

    重要

    公開する前に、[デバッグ構成][ServerlessSpark ノードパラメーター][スケジューリング構成][ServerlessSpark ノードパラメーター] に同期する必要があります。

次のステップ

  • ノードのスケジュール: プロジェクトフォルダ内のノードを定期的に実行するには、右側の [スケジューリング] ペインで [スケジューリングポリシー] と関連するスケジューリングプロパティを構成します。

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

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

リファレンス