Spark ジョブ定義の Git 統合

この記事では、Microsoft FabricにおけるSparkジョブ定義(SJD)のGit統合の仕組みについて説明します。 リポジトリ接続を設定し、ソース管理を使用して Spark ジョブ定義の変更を管理し、さまざまなワークスペースにデプロイする方法について説明します。

Azure DevOpsでSparkジョブ定義のGit統合を有効にすると、Gitの完全な履歴を通じて変更を追跡できます。 PySparkまたはSparkRを選択すると、メインの定義ファイルと参照ファイルがコミットの一部として含まれています。 Git統合はこれらのファイル内のソースコードの変更も追跡します。

重要

この機能はプレビュー段階にあります。

接続を設定する

ワークスペース設定から、変更をコミットして同期するためのリポジトリへの接続を簡単に設定できます。 接続を設定するには、「Git 統合での作業開始」を参照してください。 接続後、 ソース コントロールパネルでSparkジョブの定義などのアイテムを確認できます。

ワークスペースの [ソース コントロール] パネルのスクリーンショット。

Sparkジョブ定義をGitリポジトリにコミットすると、ジョブ定義フォルダ構造がリポジトリに表示されます。

GitにおけるSparkジョブ定義の表現

以下の画像はリポジトリ内の各Sparkジョブ定義項目のファイル構造の例を示しています:

sjd Git リポジトリのファイル構造のスクリーンショット。

Sparkジョブ定義アイテムをリポジトリにコミットすると、各アイテムごとにGitフォルダが作成され、次のスキーマに従って名前が付けられます: <Item name> + "SparkJobDefinition"。 フォルダ名を変えないでください。ワークスペース内のアイテムを追跡するために使われます。 例えば、アイテム名が「sjd1」の場合、Gitフォルダ名は「sjd1SparkJobDefinition」となります。

Gitフォルダには mainreferenceの2つのサブフォルダがあります。 メインフォルダにはメインの定義ファイルが含まれ、リファレンスフォルダにはリファレンスファイルが入っています。

メインファイルと参照ファイルに加えて、SparkJobDefinitionV1.json ファイルもあります。 これには Spark ジョブ定義項目のメタデータが保持されるため、変更しないでください。 .platformファイルにはGitの設定に関するプラットフォーム情報が含まれています。 このファイルも改変しないでください。

  • JavaやScalaを言語に選ぶと、.jarファイルとしてアップロードした際にメインファイルとリファレンスファイルはコミットされません。
  • アタッチされた環境は、リポジトリから Fabric ワークスペースに同期した後も Spark ジョブ定義に保持されます。 現時点では、ワークスペース間参照環境はサポートされていません。 ジョブ定義を実行するには、新しい環境に手動でアタッチするかワークスペースの既定の設定を使用する必要があります。
  • Spark ジョブ定義は、リポジトリから Fabric ワークスペースに同期するときに、既定のレイクハウス ID を保持します。 デフォルトのレイクハウスでノートブックをコミットした場合、新しく作成したレイクハウスアイテムを手動で参照する必要があります。 詳細については、「レイクハウス Git 統合」を参照してください。