次の方法で共有


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 より大きく設定しないでください。 Streaming ジョブは、cron 式 "* * * * * ?" を使用して (毎分) 実行するように設定する必要があります。 ストリーミング タスクは継続的に実行されるので、常にジョブの最後のタスクである必要があります。

Spark Submit タスクを構成する

ジョブ UI の [タスク] タブから Spark Submit タスクを追加するには、次の操作を行います。

  1. [種類] ドロップダウン メニューで、Spark Submit を選択します。
  2. [コンピューティング] を使用して、タスクのロジックをサポートするクラスターを構成します。
  3. [パラメーター] テキスト ボックスを使用して、文字列の JSON 配列としてタスクを実行するために必要なすべての引数と構成を指定します。
    • 最初の 3 つの引数は、次の例のように、指定したパスで JAR で実行するメイン クラスを識別するために使用されます。

      ["--class", "org.apache.spark.mainClassName", "dbfs:/Filestore/libraries/jar_path.jar"]
      
    • Azure Databricks によって構成された masterdeploy-mode、および executor-cores の設定をオーバーライドすることはできません

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

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

    • --jars--py-files--files 引数では DBFS パスがサポートされます。

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

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