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