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