この記事では、ノートブックとジョブでサーバーレス コンピューティングを使用するためのベスト プラクティスの推奨事項について説明します。
これらの推奨事項に従うことで、Azure Databricks でのワークロードの生産性、コスト効率、信頼性が向上します。
サーバーレス コンピューティングへのワークロードの移行
サーバーレス コンピューティングでは、ユーザー コードの分離を保護するために、Azure Databricks のセキュリティで保護された標準アクセス モード (以前の共有アクセス モード) を利用します。 このため、一部のワークロードでは、サーバーレス コンピューティングでの作業を継続するためにコードの変更が必要になります。 サポートされていない機能の一覧については、「サーバーレス コンピューティングの制限事項」を参照してください。
特定のワークロードは、他のワークロードよりも移行が簡単です。 次の要件を満たすワークロードは、移行が最も簡単です。
- アクセスするデータは Unity Catalog に格納する必要があります。
- ワークロードは、標準アクセス モードのコンピューティングと互換性がある必要があります。
- ワークロードは、Databricks Runtime 14.3 以上と互換性がある必要があります。
ワークロードがサーバーレス コンピューティングで動作するかどうかをテストするには、 Standard アクセス モードと Databricks Runtime が 14.3 以上の非サーバーレス コンピューティング リソースで実行します。 実行が成功した場合、ワークロードの移行準備はできています。
この変更の重要性と現在の制限事項の一覧により、多くのワークロードはシームレスに移行されません。 Azure Databricks では、すべてを再コーディングする代わりに、新しいワークロードを作成するときにサーバーレス コンピューティングの互換性を優先することをお勧めします。
外部システムからのデータの取り込み
サーバーレス コンピューティングでは JAR ファイルのインストールがサポートされていないため、JDBC や ODBC ドライバーを使用して外部データ ソースからデータを取り込むことはできません。
インジェストに使用できる代替戦略には以下が含まれます。
- COPY INTO やストリーミング テーブルなどの SQL ベースの構成要素。
- 新しいデータ ファイルがクラウド ストレージに到着すると、それらを段階的かつ効率的に処理する自動ローダー。 「自動ローダー」を参照してください。
- データ インジェスト パートナー ソリューション。 「Partner Connect を使用してインジェスト パートナーに接続する」を参照してください。
- ファイルを直接アップロードするためのデータ追加 UI。 「Azure Databricks にファイルをアップロードする」を参照してください。
取り込みの代替手段
サーバーレス コンピューティングを使う場合は、次の機能を使用して、データを移動せずにクエリを実行することもできます。
- データの重複を制限するか、可能な限り最新のデータに対してクエリを実行することを保証する場合、Databricks では Delta Sharing を使用することをお勧めします。 「Delta Sharing とは」を参照してください。
- カスタム レポートと概念実証作業を行う場合、Databricks では適切な選択肢 (Lakehouse フェデレーションである可能性がある) を試すことをお勧めします。 Lakehouse フェデレーションは、外部システムからデータベース全体を Azure Databricks に同期することを可能にし、Unity Catalog によって管理されます。 「Lakehouse フェデレーションとは」をご覧ください。
これらの機能のいずれかまたは両方を試して、クエリのパフォーマンス要件を満たしているかどうかを確認します。
サポートされている Spark 構成
サーバーレス コンピューティングでの Spark の構成を自動化するために、Azure Databricks ではほとんどの Spark 構成を手動で設定するためのサポートが削除されました。 サポートされている Spark 構成パラメーターの一覧を表示するには、「 サーバーレス ノートブックとジョブの Spark プロパティを構成する」を参照してください。
サポートされていない Spark 構成を設定した場合、サーバーレス コンピューティングでのジョブの実行は失敗します。
サーバーレス コンピューティングのコストを監視する
サーバーレス コンピューティングのコストを監視するために使用できる機能は複数あります。
- システム テーブルを使用して、ダッシュボードの作成、アラートの設定、アドホック クエリの実行を行います。 サーバーレス コンピューティングのコストを監視するを参照してください。
- アカウントで予算アラートを設定します。 「予算の作成と監視」を参照してください。
- 事前構成済みの使用状況ダッシュボードをインポートします。 使用状況ダッシュボードをインポートするを参照してください。