Spark Submit (レガシー)

Spark Submit タスク タイプは、JAR をタスクとして構成するための従来のパターンです。Databricks では、 JAR タスクの使用をお勧めします。 ジョブの JAR タスクを参照してください。

要件

  • Spark-Submitタスクは、新しいクラスターでのみ実行できます。

  • JAR ファイルは、コンピュート構成と互換性のある場所またはMavenリポジトリにアップロードする必要があります。Java と Scala のライブラリのサポートを参照してください。

  • ボリュームに格納された JAR ファイルにはアクセスできません。

  • Spark-submit はクラスター オートスケールをサポートしていません。 オートスケールの詳細については、「 クラスター オートスケール」を参照してください。

  • Spark-submit は、 Databricks ユーティリティ (dbutils) リファレンスをサポートしていません。 Databricks ユーティリティを使用するには、代わりに JAR タスクを使用します。

  • Unity Catalog 対応クラスターを使用する場合、spark-submit は、クラスターがシングル ユーザー アクセス モードを使用している場合にのみサポートされます。 共有アクセスモードはサポートされていません。 「アクセスモード」を参照してください。

  • 構造化ストリーミング ジョブの最大並列実行を 1 より大きい値に設定しないでください。 ストリーミング ジョブは、cron 式 "* * * * * ?" (毎分) を使用して実行するように設定する必要があります。 ストリーミング タスクは継続的に実行されるため、常にジョブの最後のタスクにする必要があります。

Spark 送信タスクを構成する

ジョブ UI のタスク タブからSpark Submitタスクを追加するには、次の手順を実行します。

  1. 「タイプ」ドロップダウンメニューで、「Spark Submit」を選択します。

  2. コンピュートを使用して、タスクのロジックをサポートするクラスターを構成します。

  3. パラメーター テキスト ボックスを使用して、タスクの実行に必要なすべての引数と構成をJSON形式の文字列の配列として指定します。

    • 最初の 3 つの引数は、次の例のように、指定されたパスの JAR で実行するメイン・クラスを識別するために使用されます。

      ["--class", "org.apache.spark.mainClassName", "dbfs:/Filestore/libraries/jar_path.jar"]
      
    • Databricks によって構成された masterdeploy-modeexecutor-cores の設定を上書きすることはできません

    • --jars--py-files を使用して、依存する Java、Scala、Python ライブラリを追加します。

    • --confを使用して Spark 構成を設定します。

    • --jars--py-files--files 引数は、DBFS パスと S3 パスをサポートします。

    • デフォルトでは、 Spark submit ジョブは、 Databricks サービス用に予約されたメモリを除く、使用可能なすべてのメモリを使用します。 --driver-memory--executor-memory を小さい値に設定して、オフヒープ使用の余地を残すことができます。

  4. [タスクの保存] をクリックします。