サーバーレス コンピューティングのベスト プラクティス
この記事では、ノートブックとジョブでサーバーレス コンピューティングを使用するためのベスト プラクティスの推奨事項について説明します。
これらの推奨事項に従うことで、Azure Databricks でのワークロードの生産性、コスト効率、信頼性が向上します。
サーバーレス コンピューティングへのワークロードの移行
サーバーレス コンピューティングでは、ユーザー コードの分離を保護するために、Azure Databricks セキュア共有アクセス モードを利用します。 このため、一部のワークロードでは、サーバーレス コンピューティングでの作業を継続するためにコードの変更が必要になります。 サポートされていない機能の一覧については、「サーバーレス コンピューティングの制限事項」を参照してください。
特定のワークロードは、他のワークロードよりも移行が簡単です。 次の要件を満たすワークロードは、移行が最も簡単です。
- アクセスするデータは Unity Catalog に格納する必要があります。
- ワークロードは、共有アクセス モード コンピューティングと互換性がある必要があります。
- ワークロードは、Databricks Runtime 14.3 以上と互換性がある必要があります。
ワークロードがサーバーレス コンピューティングで動作するかどうかをテストするには、共有アクセス モードと 14.3 以上の Databricks Runtime を使用して、非サーバーレス コンピューティング リソースで実行します。 実行が成功した場合、ワークロードの移行準備はできています。
この変更の重要性と現在の制限事項の一覧により、多くのワークロードはシームレスに移行されません。 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 フェデレーションとは」をご覧ください。
これらの機能のいずれかまたは両方を試して、クエリのパフォーマンス要件を満たしているかどうかを確認します。
サーバーレス コンピューティングのコストを監視する
サーバーレス コンピューティングのコストを監視するために使用できる機能は複数あります。
システム テーブルを使用して、ダッシュボードの作成、アラートの設定、アドホック クエリの実行を行います。 サーバーレス コンピューティングのコストを監視するを参照してください。
アカウントで予算アラートを設定します。 予算を使用してアカウントの支出を監視するを参照してください。
事前構成済みの使用状況ダッシュボードをインポートします。 使用状況ダッシュボードをインポートするを参照してください。