サーバレス コンピュートのベストプラクティス
この記事では、ノートブックとジョブでサーバレス コンピュートを使用するためのベスト プラクティスの推奨事項を示します。
これらの推奨事項に従うことで、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 つまたは両方を試して、クエリのパフォーマンス要件を満たしているかどうかを確認してください。
サーバレス コンピュートのコストを監視する
サーバレス コンピュートのコストを監視するために使用できる機能は複数あります。
-
システムテーブルを使用して、ダッシュボードの作成、アラートの設定、アドホッククエリの実行を行います。 サーバレス コンピュートのコストの監視を参照してください。
-
アカウントで予算アラートを設定します。 「予算の作成と監視」を参照してください。
-
事前設定された使用状況ダッシュボードをインポートします。 使用状況ダッシュボードのインポートを参照してください。