コンソールからSparkアプリケーションを送信する

watsonx.data 」コンソールから、 Python、 Java、または Scala 言語で記述されたSparkアプリケーションを提出できます。

Sparkアプリケーションの詳細、検討するバージョン、ハードウェアとボリュームの詳細、Spark環境のプロパティ、Sparkの設定を watsonx.data コンソールで指定できる。

適用対象:

スパークエンジン

Apache グルテン加速スパークエンジン

IBM Software Hub上のwatsonx.data

始める前に

Sparkアプリケーションは、アクセス可能なストレージで利用できなければなりません。

手順

  1. クラスタにログインする watsonx.data クラスタ インフラストラクチャー・マネージャーのページに行く。
  2. スパークエンジンの名前をクリックします(リストまたはトポロジービューから)。 エンジン情報ウィンドウが開きます。
  3. アプリケーションタブで、 アプリケーションの作成ボタンをクリックします。 Submit Sparkアプリケーションのページが開きます。

    このページでは、スパーク申請書の提出方法に応じて、以下のタブのいずれかを選択できます。

    • Inputs タブを選択する。 以下の詳細を設定する:
      フィールド 説明
      アプリケーション・タイプ 以下のオプションがある:
      • Python :Spark アプリケーションが Python 言語で記述されている場合は、このオプションを選択します。
      • Java または 「 Scala 」:Sparkアプリケーションが Java または Scala 言語で記述されている場合は、このオプションを選択してください。
      アプリケーション・パス アプリケーションへのパスを指定します。 これは必須フィールドです。

      アプリケーションは、ストレージまたはマウントされた IBM Software Hub ストレージボリュームで利用可能でなければなりません。

      s3a://<application-bucket-name>/iceberg.py
      アプリケーション名 アプリケーションの名前を指定します。
      引数 Add argument(引数の追加) ボタンを使って、アプリケーションが必要とするすべての引数を指定します。
      Sparkバージョン アプリケーションを実行するSparkのバージョンを入力します。 Sparkエンジ watsonx.data ンを使用している場合は、 サポート対象のSparkバージョンを参照してください。 Apache Glutenエンジンを使用している場合は、 サポート対象のSparkバージョンを参照してください。
      Spark の構成プロパティー スパークのプロパティをキーと値のペア("<プロパティ名>": "<プロパティ値>")の形式でカンマ区切りで指定します。 プロパティの詳細については、 プロパティを参照してください。
      Spark 環境プロパティ Spark 環境プロパティを key=value ペアで指定します。 各プロパティの詳細については、 環境プロパティを参照してください
      ハードウェア構成 ワークロードに必要な CPU コア数(ドライバとエクゼキュータ)とメモリを指定します。
      ボリューム Spark アプリケーション用にマウントする IBM Storage Hub ボリュームの詳細を指定します。 各ボリュームの詳細を追加するには、 ボリュームの追加リンクをクリックします。
      マウント・パス ボリュームがマウントされているSparkアプリケーションノード。

      アプリケーション・スクリプトで参照するボリューム内のファイルは、マウント・パスからの相対パスを持つ必要があります。

      ソース・サブ・パス ボリューム内の特定のディレクトリだけをマウントするには、ここにパスを指定する。
      依存関係 アプリケーション・スクリプトまたはjarで必要なファイルへのパスとパッケージ名を指定します。
      ペイロードからインポート このリンクをクリックすると、「 ペイロード 」タブでペイロードを指定済みの場合、 「インプット」 タブのすべてのフィールドが自動的にインポートされ、ファーニッシングされます。
    • Payload タブを選択します。

      Application payload フィールドには、Spark エンジン アプリケーション作成 REST API エンドポイントが受け付けるアプリケーション ペイロード JSON を指定します。 ここでペイロードを手動で書き込むか、「 Import from inputs 」リンクをクリックして、「 Inputs」 タブで提供された詳細からJSONを自動的に構築することができます。

      Spark アプリケーションが IBM Software Hub ストレージボリュームに存在する場合のサンプルペイロード。 v2 APIを使用する場合は、 <api_version> パラメータを v2 に設定する。 v3 APIを使用する場合は、 v3 に設定する。

      重要:

      Sparkアプリケーションの用途に応じて、異なる cURL コマンドが必要になる場合があります。 サポートされているシナリオやコマンドの詳細については、 「REST API を使用した Spark アプリケーションの送信」 を参照してください。

      curl --request POST \
        --url https://<cpd_host_name>/lakehouse/api/<api_version>/spark_engines/<spark_engine_id>/applications \
        --header 'Authorization: Bearer <token>' \
        --header 'Content-Type: application/json' \
        --header 'LhInstanceId: <instance_id>' \
        --data '{
        "application_details": {
          "application": "/myapp/<python file name>"
        },
        "volumes": [
          {
            "name": "cpd-instance::my-vol-1",
            "mount_path": "/myapp"
          }
        ]
      }'
  4. 申請を提出する 」をクリックします。 申請書は正常に送信され、「 申請書」 タブに表示されます。