Livy API を使用して Spark ジョブを送信して実行する
Note
Livy API for Fabric Data Engineering はプレビュー段階です。
適用対象:✅ Microsoft Fabric でのデータ エンジニアリングとデータ サイエンス
レイクハウスを作成して Livy API for Fabric Data Engineering で作業を開始し、Microsoft Entra アプリ トークンを使用して認証し、リモート クライアントから Fabric Spark コンピューティングにバッチ ジョブまたはセッション ジョブを送信します。 また、Livy API エンドポイントを検出してジョブを送信し、結果を監視します。
前提条件
Fabric Premium、またはレイクハウスを備えた試用版の容量
Livy API (プレビュー) のテナント管理者設定が有効であること
Jupyter Notebook サポート、PySpark、Microsoft Authentication Library (MSAL) for Python を備えた Visual Studio Code などのリモート クライアント
Fabric REST API にアクセスする場合は、Microsoft Entra アプリ トークンが必要です。 Microsoft ID プラットフォームにアプリケーションを登録する
REST API クライアントの選択
さまざまなプログラミング言語または GUI クライアントを使用して、REST API エンドポイントを操作できます。 この記事では、Visual Studio Code を使用します。 Visual Studio Code は、Jupyter Notebooks、PySpark、および Microsoft Authentication Library (MSAL) for Python で構成する必要があります
Livy API 要求を承認する方法
Livy API を含む Fabric API を操作するには、まず Microsoft Entra アプリケーションを作成し、トークンを取得する必要があります。 Fabric に対して API 呼び出しを実行するには、アプリケーションを登録して適切に構成する必要があります。 詳細については、Microsoft ID プラットフォームにアプリケーションを登録する方法に関するページを参照してください。
Livy ジョブの実行に必要な Microsoft Entra スコープのアクセス許可は多数あります。 単純な Spark コード + ストレージ アクセス + SQL の例を次に示します。
- Code.AccessAzureDataExplorer.All
- Code.AccessAzureDataLake.All
- Code.AccessAzureKeyvault.All
- Code.AccessFabric.All
- Code.AccessStorage.All
- Item.ReadWrite.All
- Lakehouse.Execute.All
- Lakehouse.Read.All
- Workspace.ReadWrite.All
Note
パブリック プレビュー中、詳細なスコープがいくつか追加されます。このアプローチを使用する場合、これらの追加のスコープが追加されたとき、Livy アプリが中断されます。 このリストを確認してください。これは追加のスコープで更新されます。
一部のお客様には、前のリストよりも詳細なアクセス許可が必要です。 Item.ReadWrite.All を削除し、より詳細なスコープのアクセス許可に置き換えることができます。
- Code.AccessAzureDataExplorer.All
- Code.AccessAzureDataLake.All
- Code.AccessAzureKeyvault.All
- Code.AccessFabric.All
- Code.AccessStorage.All
- Lakehouse.Execute.All
- Lakehouse.ReadWrite.All
- Workspace.ReadWrite.All
- Notebook.ReadWrite.All
- SparkJobDefinition.ReadWrite.All
- MLModel.ReadWrite.All
- MLExperiment.ReadWrite.All
- Dataset.ReadWrite.All
アプリケーションを登録すると、アプリケーション (クライアント) ID とディレクトリ (テナント) ID の両方が表示されます。
Livy API を呼び出す認証済みユーザーは、API とデータ ソース項目の両方が共同作成者ロールで配置されているワークスペース メンバーである必要があります。 詳しくは、ワークスペースへのアクセス権のユーザーへの付与に関する記事をご覧ください。
Fabric Livy API エンドポイントを検出する方法
Livy エンドポイントにアクセスするには、レイクハウス アーティファクトが必要です。 レイクハウスが作成されると、Livy API エンドポイントを設定パネル内に配置できます。
Livy API のエンドポイントは、次のパターンに従います。
https://api.fabric.microsoft.com/v1/workspaces/<ws_id>/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/
URL には、選択した内容に応じて、<sessions> または <batches> が追加されます。
Fabric 環境との統合
Fabric ワークスペースごとに既定のスターター プールがプロビジョニングされ、すべての Spark コードの実行によって、このスターター プールが既定で使用されます。 Livy API Spark ジョブは、Fabric 環境を使用してカスタマイズできます。
Livy API ジョブを送信する
Livy API のセットアップが完了したら、バッチ ジョブまたはセッション ジョブを送信することができます。
要求履歴を監視する方法
監視ハブを使用して以前の Livy API の送信を確認し、送信エラーをデバッグできます。