Scala JARs on Unity Catalog クラスタリングへのデプロイ
この記事では Scala 標準アクセス モードで Unity Catalog 対応クラスタリング上の JAR ファイルとしてジョブをコンパイルしてデプロイする方法について説明します。 次のことを確認するための詳細を提供します。
- Java Development Kit (JDK) のバージョンが、Databricks クラスタリングの JDK バージョンと一致している。
- ScalaScalaDatabricksのバージョンは、 クラスタリングの バージョンと一致します。
- Databricks Connect 依存関係として追加され、 Databricks クラスタリングで実行されているバージョンと一致します。
- コンパイルするローカルプロジェクトは、1つのJARとしてパッケージ化され、すべての依存関係が含まれています。または、依存関係を クラスタリング ライブラリとしてインストールすることもできます。
- OSS Spark へのすべての依存関係 (
spark-core
やhadoop-core
など) は削除されます。 - 使用されているすべての JAR が 許可リストに追加されます。
標準アクセス モードでのクラスタリングUnity Catalog、クライアント コンポーネントとサーバー コンポーネントを分離する新しい Spark Connect アーキテクチャが実装されます。この分離により、クラスタリングを効率的に共有しながら、Unity Catalog 行フィルターや列マスク などのメジャーを使用して ガバナンスを完全に適用できます。ただし、標準アクセスUnity Catalog モードでの クラスタリングには、APIs SparkContext や RDD などの がサポートされていないなど、いくつかの制限があります。Limtations は、 のコンピュート アクセス モードの制限Unity Catalog にリストされています。
ステップ 1: Scala と JDK のバージョンが一致していることを確認する
JAR をビルドする前に、コードのコンパイルに使用する Java Development Kit (JDK) と Scala のバージョンが、クラスタリングの Databricks Runtime バージョンで実行されているバージョンと一致していることを確認してください。 互換性のあるバージョンに関する情報については、 バージョンサポートマトリックスを参照してください。
手順 2: Databricks Connect を依存関係として追加する
Databricks Connect を使用して、OSS Spark の代わりに Scala JAR をビルドする必要があります。Databricks Runtime で実行されている Spark バージョンは、OSS Spark で現在使用できるバージョンよりも新しく、パフォーマンスと安定性の向上が含まれています。
Scala プロジェクトのビルドファイル (sbt の sbt の s build.sbt
や Maven の pom.xml
など) に、Databricks Connect への次の参照を追加します。また、OSS Spark への依存関係も削除します。
- Maven
- Sbt
<dependency>
<groupId>com.databricks</groupId>
<artifactId>databricks-connect</artifactId>
<version>16.2.0</version>
</dependency>
libraryDependencies += "com.databricks" % "databricks-connect" % "16.2.+"
ステップ3:単一のJARとしてパッケージ化してデプロイする
Databricks では、アプリケーションとすべての依存関係を 1 つの JAR ファイル ( über JAR または fat JAR とも呼ばれます) にパッケージ化することをお勧めします。sbt の場合は sbt-assembly
を使用し、Maven の場合は maven-shade-plugin
を使用します。詳細は公式の Maven Shade プラグイン と sbt-assembly のドキュメンテーションを参照のこと。
または、依存関係をクラスタリング スコープのライブラリとしてインストールすることもできます。 詳細については、 コンピュート-scoped ライブラリ を参照してください。
JAR タスクを使用して JAR ファイルをデプロイします。ジョブの JAR タスクを参照してください。
ステップ4:JARが許可リストに登録されていることを確認する
セキュリティ上の理由から、標準アクセスモードでは、管理者が JAR ライブラリの Maven 座標とパスを許可リストに追加する必要があります。Allowlist ライブラリと initスクリプト on 標準アクセスモード (旧称 Shared Access Mode) のコンピュートを参照してください。