カスタムダッシュボードでDatabricksのコストとパフォーマンスの洞察を解放する

[Unlocking Cost and Performance Insights in Databri\.\.\. \- Databricks Community \- 98225](https://community.databricks.com/t5/technical-blog/unlocking-cost-and-performance-insights-in-databricks-with/ba-p/98225)の翻訳です。

:::note warn
本書は著者が手動で翻訳したものであり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

組織では自身のデータインフラストラクチャをスケールさせ続けるので、成功するためには効率的なリソース使用、コストコントロール、オペレーションの透明性が重要となります。Databricksの導入が進むことで、計算資源の使用量やデータ処理の監視や最適化が重要となります。私はこれらの要件への対応を支援するために、コスト、ジョブのパフォーマンス、データリネージに対する洞察に明確な可視性を提供し、データチームが情報に基づく意思決定を行えるようにするためのDatabricksダッシュボードを開発しました。

私のGitHubリポジトリ[Databricks Dashboard Suite](https://github.com/mohanab89/databricks-dashboard-suite)でこれらのダッシュボードのコードやセットアップの手順を探索することができます。

:::note info
**注意**
これらのダッシュボードは独自に開発したものであり、Databricksによって公式にはサポートされていません。
:::

Databricksは、製品、SKU、タグでのブレークダウンと高コストのソースの分析を提供する[ビルトインの使用量ダッシュボード](https://docs.databricks.com/ja/admin/account-settings/usage.html)を提供しています。製品チームは、ユーザー体験を改善するためにこれらのダッシュボードを継続的にエンハンスしています。これらを補完するために、このプロジェクトにおけるカスタムダッシュボードは、詳細なコストとパフォーマンスのトラッキングをサポートするために、より粒度の細かいメトリクス、包括的なドキュメント、高度なカスタマイゼーションのオプションを提供します。

# 背景: コストとオペレーションのトラッキング統合の必要性

Databricksはワークロードを実行するために素晴らしい柔軟性を提供しますが、さまざまなコストやオペレーションのメトリクスを追跡する際に複雑性も引き起こします。SQL、ジョブクラスター、ノートブックに渡るワークロードがあるため、一箇所でこれらの観点で監視を行う能力が重要になります。これによって、データチームはプラットフォーム全体におけるすべてのアクティビティを対象とするカスタマイズされたダッシュボードを必要とすることになります。

<iframe width="560" height="315" src="https://www.youtube.com/embed/DKLsBEaxIkg?si=8ysAf5SyDGCKYu_d" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

:::note info
**注意**
この動画の特定の箇所は、センシティブな情報をマスキングする意図で空白になっっています。あなたの環境でダッシュボードをインストール、設定すると実際の値を参照することができます。
:::

このダッシュボードスイートは、このゴールを念頭に設計されました。システムテーブルを、SQLクエリー、Databricksのパワフルなビジュアライゼーションツールを用いて構築され、一つの傘のもとで使用量、コスト、ガバナンスに対するまとまったビューを提供します。

![](https://community.databricks.com/t5/image/serverpage/image-id/13542i3B14F4A54F6D04E7/image-size/large?v=v2&px=999)

# プロジェクト概要

このプロジェクトは、4つのコアのダッシュボードから構成され、それぞれが特定のオペレーションの要件に対応しています。まとめることで、これらはDatabricksにおけるオペレーションの洞察に対する全体的なビューを提供します:

1. **Databricks Unified Cost Analysis Dashboard:** すべてのコンピュートタイプ(all-purposeクラスター、ジョブ、Delta Live Tables、モデル推論)におけるコストのトレンドにフォーカスしています。ビジュアライゼーションには、コンピュートタイプごとの日次の消費、週次、月次のコストのトレンド、ワークスペースごとのコストが含まれます。
![](https://community.databricks.com/t5/image/serverpage/image-id/13543iDD2F5F0B054577E4/image-size/large?v=v2&px=999)
1. **Job Operations and Cost Management Dashboard:** ジョブワークロードのコストの洞察とオペレーションのメトリクスを提供します。チームレベルのコスト分析、ジョブ数や実行時間のビジュアライゼーション、失敗率、リソース使用量、クラスターのパフォーマンスが含まれています。
![](https://community.databricks.com/t5/image/serverpage/image-id/13544i57FF49BC8887809C/image-size/large?v=v2&px=999)
1. **DBSQL Cost & Query Performance Dashboard:** SQLワークロードのコスト、クエリーレベルのパフォーマンスをハイライトします。このダッシュボードでは、ワークスペース、SKUごとの日次のコスト、チームやユーザーごとのコストのブレークダウン、実行時間やキュー時間のような特定のメトリクスによる詳細なクエリーパフォーマンスに関するビジュアライゼーションを提供します。このダッシュボードにおけるクエリー処理ごとのコストは、Cody Davisがクエリーコストの計算例を紹介している彼のブログ記事[The New Databricks SQL Warehouse Advisor Dashboard](https://medium.com/dbsql-sme-engineering/the-new-databricks-sql-warehouse-advisor-dashboard-a89771bbee3e)で共有している手法に基づいて計算されます。計測したいと考える特定のメトリクスに依存して、クエリーのコストを計算する方法が複数存在することに注意してください。将来的には、クエリーのコストがシステムテーブルに追加された場合には、このプロジェクトはより正確で効率的な計算のために、そのデータを活用するようにアップデートされます。
![](https://community.databricks.com/t5/image/serverpage/image-id/13545i4248BAD5CB6E3237/image-size/large?v=v2&px=999)
1. **Data Lineage and Catalog Utilization Dashboard:** Unity Catalogのリネージテーブルから構築され、このダッシュボードはDatabricks環境におけるデータ移動を表示します。ビジュアライゼーションはデータチームがジョブ、クエリー、ダッシュボードでデータがどのように流れているのかを追跡する支援をするために、エンティティアクセスの時間変化、最も使用されているカタログ、詳細なテーブルレベルのリネージをカバーします。
![](https://community.databricks.com/t5/image/serverpage/image-id/13546i9CF1303FAE2FE34E/image-size/large?v=v2&px=999)

それぞれのダッシュボードは設定可能なフィルターを提供しており、ユーザーはワークスペース、日付の範囲、コンピュートタイプ、ジョブID、チームでの絞り込みを行うことができ、特定のタイミングでもっとも適切な情報を表出化させることが容易となります。さらに、ダッシュボードのすべてのセクションには、初めの部分に詳細なドキュメントを含めており、ユーザーがビジュアライゼーションや文脈を理解することを助けます。ナビゲーションを強化するために、最初のダッシュボードの上部にはスイートの他のダッシュボードへのリンクを含むインデックスセクションを含めており、より深い洞察にシームレスにアクセスできるようにしています。

![](https://community.databricks.com/t5/image/serverpage/image-id/13547iB544C7C7FC43AFBB/image-size/large?v=v2&px=999)

# 主要な機能とメリット

1. **コスト効率性:** コンピュートタイプ、ワークスペース、チームによるコストのブレークダウンを提供することで、これらのダッシュボードによってユーザーは高コストの領域を特定できるようになります。チームは使用量を最適化し、不要な出費を削減するために情報に基づいたアクションを取れるようになります。
1. **オペレーションに対する洞察:** クエリーのパフォーマンス、ジョブの実行時間、失敗率、リソース配置に対する詳細なメトリクスによって、ボトルネックの特定と解決を容易にし、Databricksにおけるワークフローをよりスムーズなものとします。
1. **データリネージの透明性:** リネージにフォーカスしたダッシュボードは、Databricksにおけるさまざまなエンティティでデータがどのように流れているのかに関する重要な洞察を提供し、データガバナンスを強化し、データの依存関係に対するトラッキングを改善します。
1. **カスタマイズ可能なデプロイメント:** これらのダッシュボードは、必要なテーブルや関数、フィルタの設定、ビジュアライゼーション環境をセットアップする単一のパラメータ化されたノートブックを通じて容易にデプロイできるので、特定の組織の要件にマッチするように簡単にカスタマイズすることができます。

# 実装: ダッシュボードを使い始める

このダッシュボードスイートは、GitHubリポジトリにパッケージングされているので、デプロイメントはわかりやすいものとなっています。ユーザーが必要なのは、Gitフォルダを用いてこのリポジトリをクローンし、セットアップノートブック(詳細な手順は[こちら](https://github.com/mohanab89/databricks-dashboard-suite?tab=readme-ov-file#setup-and-usage))を実行することだけです。これによって、自動ですべてのダッシュボードをデプロイし、必要なシステムテーブルや関数を準備します。

:::note info
**注意**
セットアップノートブックには、チームベースのブレークダウンのためのタグやビジュアライゼーションをよりわかりやすくするためのワークスペース名を取得するオプションのようなオプションの設定パラメータが含まれています。
:::

Databricksにシステムテーブルが追加されるなどさらなる機能拡張があった際には、このダッシュボードは修正されます。定期的なアップデートによって、このダッシュボードはDatabricksの進化し続けるエコシステムに適応し続けることになります。

# まとめ

Databricksを活用する組織にとって、長期的な成功のためにはコストやパフォーマンスメトリクスに対する明確な洞察を持つことが重要となります。このDatabricksカスタムダッシュボードプロジェクトは、パワフルなコスト、オペレーション、リネージの洞察を1つのアクセス可能なスイートにまとめ上げ、チームが効率的にデータドリブンの意思決定を行えるようにします。Databricksの機能は拡張していくので、このダッシュボードは進化し続けることとなり、あなたのDatabricks環境からえられる価値を最大化するための堅牢なツールセットを提供します。

これらのダッシュボードを試したい、プロジェクトに貢献することに興味があるのであれば、[こちら](https://github.com/mohanab89/databricks-dashboard-suite)のGitHubリポジトリをチェックして、あなたのDatabricksのオペレーションをより透明性があり、効率的、コスト効率の高いものにする助けとなる機能を探索してみてください。

## 免責事項

このプロジェクトと同梱されているダッシュボードは公式のDatabricks製品ではありません。これらはas-isで提供されるコミュニティで構築されたリソースであり、専用の継続的なサポートはありません。ご自身のリスクでもって使用することを意図しているので、ご自身の環境でレビュー、テストしてください。

### はじめてのDatabricks

[はじめてのDatabricks](https://qiita.com/taka_yayoi/items/8dc72d083edb879a5e5d)

### Databricks無料トライアル

[Databricks無料トライアル](https://databricks.com/jp/try-databricks)