Contents
Databricks ワークスペースの作成と必須権限
このセクションでは、Azure と AWS のいずれかで Databricks ワークスペースをプロビジョニングする際に必要となる手順とロール設定 を解説します。正しいロールが付与されていないと、クラスタの作成やデータへのアクセスができなくなるため、最初に確実に確認しておくことが重要です。
Azure ポータルでの作成手順
Azure Databricks のワークスペースは Azure Portal から数クリックで構築できます。以下の流れを参考にしてください。
- リソースの作成
- 「Databricks」→「Databricks ワークスペース」を選択します。
- 必須情報の入力(サブスクリプション、リソースグループ、リージョンはデータレイクと同一が推奨です)
- 価格レベルの選択(Standard または Premium)
- 確認・作成 をクリックし、デプロイ完了を待ちます。
必要な権限(Azure)
| ロール種別 | 正式名称(2026‑06 時点) | 役割 |
|---|---|---|
| Azure AD ロール | Databricks Workspace Admin(管理者) ※正式名称は公式ドキュメントの「Assign workspace admin role」を参照してください。 |
ワークスペース全体の設定・ユーザー招待 |
| Azure AD ロール | Databricks User(一般ユーザー) ※公式ドキュメントで「Databricks User role」の有無は随時更新されます。 |
ノートブック実行、ジョブ作成など |
| Azure IAM ロール | Owner または Contributor(サブスクリプション/リソースグループレベル) 公式情報: https://learn.microsoft.com/azure/role-based-access-control/built-in-roles#owner |
ワークスペースの作成・削除 |
上記ロール名は Azure の UI とドキュメントで表記が若干異なる場合があります。実際に使用する前に、最新の公式リファレンス で名称を確認してください。
AWS コンソールでの作成手順
AWS 上で Databricks をデプロイするには、Marketplace から製品をサブスクライブし、CloudFormation テンプレート(または CDK)でスタックを起動します。
- Marketplace → 「Databricks Unified Data Analytics Platform」を検索し Continue to Subscribe。
- Configuration
- VPC とプライベートサブネットを選択(データレイクと同一 VPC が望ましい)。
- IAM ロールの作成:下表のロール名とポリシーを参考にしてください。
- Launch → CloudFormation がスタックを作成し、完了後にワークスペース URL が表示されます。
必要な権限(AWS)
| ロール種別 | 正式名称(2026‑06 時点) | 付与すべきポリシー |
|---|---|---|
| IAM ロール | DatabricksAdminRole(管理者ロール) ※公式ドキュメント: https://docs.databricks.com/security/aws/iam-policies.html#admin-role |
AdministratorAccess + Databricks が提供するカスタムポリシー(例: AWSDatabricksServicePolicy) |
| IAM ロール | DatabricksUserRole(一般ユーザー) | 最小権限の AmazonS3ReadOnlyAccess、AWSGlueConsoleReadOnlyAccess 等。公式ガイド: https://docs.databricks.com/security/aws/iam-policies.html#user-role |
| IAM ポリシー例 | Spot Instance Savings(スポットインスタンス使用時のコスト削減) | Databricks が公開した Cost Optimization Guide (2025‑12) によると、スポット利用で 30 %〜45 % の削減が期待できます。 参照: https://databricks.com/blog/2025/12/08/cost-optimization-with-spot-instances.html |
上記ポリシーは公式サンプルをベースにしていますが、組織のセキュリティ要件に合わせてカスタマイズしてください。
推奨 Databricks Runtime の選定基準とリリースノート確認方法(2026 年版)
Databricks Runtime (DBR) はバージョンごとに Spark、Delta Lake、ML ライブラリが最適化されています。本節では 最新 LTS バージョンの選択ポイント と、公式情報を確実に取得する手順を示します。
バージョン選定のポイント
| 判定項目 | 推奨基準 | 補足 |
|---|---|---|
| 安定性 | LTS(Long‑Term Support)版 例: Runtime 15.0 LTS | 公式リリースノート https://docs.databricks.com/release-notes/runtime.html にて「LTS」マークが付与されているもの。 |
| 機能要件 | 必要な Spark / Delta Lake バージョン(例: Delta Lake 2.4 が必要なら DBR ≥ 14.3) |
各 Runtime の機能一覧は同上ページの Feature Matrix を参照。 |
| 非推奨チェック | リリースノートの Deprecated セクションで対象 API が無いか確認 | 例: spark.sql.parquet.enableVectorizedReader が非推奨になるケース。 |
| コスト・パフォーマンス | 新バージョンは最適化により同規模クラスタで 10 %〜15 % のコスト削減が報告されている(Databricks Blog 2025‑11) | 詳細: https://databricks.com/blog/2025/11/12/runtime-performance-improvements.html |
リリースノートの確認手順
- 公式ドキュメント の Release Notes ページにアクセス:https://docs.databricks.com/release-notes/runtime.html
- 「Runtime 15.0 LTS」セクションを開き、New Features, Performance Improvements, Deprecated を順に確認。
- 必要に応じて Upgrade Guide(同ページ内リンク)で既存ノートブックへの影響を事前テストする。
重要:Databricks の公式リリースノートは唯一の一次情報源です。社外ブログやサードパーティ情報は補助的に活用し、必ず公式ページで最終確認してください。
クラスタ作成画面の主要設定解説
本セクションでは、デフォルト推奨構成 をベースにしたインスタンスタイプ・Autoscaling の設定方法と、コスト削減につながる自動停止・TTL 設定をまとめます。
インスタンスタイプと Autoscaling
| クラウド | 推奨インスタンス | 主なスペック |
|---|---|---|
| Azure | Standard_DS3_v2(4 vCPU / 14 GB)または Standard_E4s_v3(4 vCPU / 32 GB) |
バランスの取れた CPU・メモリ構成 |
| AWS | r5d.large(2 vCPU / 16 GB)r5d.xlarge(4 vCPU / 32 GB) |
高速ローカル NVMe が利用可能 |
Autoscaling の設定例
- 最小ノード数= 1、最大ノード数= 10
- スポットインスタンスの有効化(AWS:
Spot Instances; Azure:Low-priority VMs) → 公式ベンチマークで 約30 % のコスト削減 が確認されています。
参照: https://databricks.com/blog/2025/09/21/spots-for-databricks.html - スケールアウト条件はデフォルト(CPU 使用率 > 70 %)で問題ありません。
ライフサイクル管理(自動停止・TTL)
| 項目 | 推奨設定 | 効果 |
|---|---|---|
| 自動停止 | アイデル時間 20 分 で停止 | 無駄な課金を防止し、セキュリティリスクも低減 |
| 有効期限(TTL) | テストクラスタは 7 日後に自動削除 | デモ・PoC 後の残骸が環境を汚染しないよう管理 |
ポイント:インスタンスタイプは「CPU/メモリバランス」を基準に選び、Autoscaling と自動停止だけ有効化すれば、多くのユースケースでコスト最適化が実現できます。
Spark コンフィグ設定と Init スクリプト/ライブラリ管理のベストプラクティス
Databricks は 「デフォルト設定は基本的に変更しない」 方針を公式ドキュメントで示しています(https://docs.databricks.com/clusters/spark-config.html)。必要最小限のカスタマイズだけを安全に追加する方法を解説します。
UI から spark.conf を追加する手順
- 左メニュー → Clusters → 対象クラスタ → Configuration タブ
- 「Advanced Options」→「Spark Config」に以下のようにキーと値を改行で列記
text
spark.sql.adaptive.enabled true
spark.databricks.io.cache.enabled true
- Save & Restart で設定が反映されます。
ノートブックから一時的に上書きする例(Python)
|
1 2 3 4 |
# Spark コンフィグをセッション単位で有効化 spark.conf.set("spark.sql.adaptive.enabled", "true") print(spark.conf.get("spark.sql.adaptive.enabled")) # => true |
注意:この方法はジョブ単位・ノートブック単位の実験に適し、クラスタ全体への永続的な影響はありません。
上書きすべきでない推奨プロパティ一覧
| プロパティ | 理由 |
|---|---|
spark.sql.shuffle.partitions |
Databricks の自動チューニングが最適化しているため、手動変更はスループット低下につながることが多い。 |
spark.databricks.io.cache.maxDiskUsage |
ディスクキャッシュサイズはクラスタ規模に合わせて自動調整される。 |
spark.sql.parquet.compression.codec |
Runtime が最適な圧縮方式を選択するため、上書きは非推奨。 |
Init スクリプトとパッケージインストールのベストプラクティス
- Init スクリプト作成例(
install_packages.sh)
bash
#!/bin/bash
set -euo pipefail
/databricks/python/bin/pip install --quiet "pandas==2.2.0"
/databricks/python/bin/pip install --quiet scikit-learn
echo "Package installation completed" >> /databricks/driver/logs/init.log
- DBFS へのアップロード(ノートブック上)
python
dbutils.fs.put(
"dbfs:/databricks/init/install_packages.sh",
open("install_packages.sh").read(),
overwrite=True)
- クラスタ作成画面の Init Scripts → 「DBFS」→
/databricks/init/install_packages.shを指定。
ライブラリ管理の実践例
| 種類 | 推奨インストール方法 | 参考リンク |
|---|---|---|
| Python パッケージ | ノートブック冒頭で %pip install pandas==2.2.0(再起動不要) |
https://docs.databricks.com/libraries/python.html#install-python-packages |
| Scala / Java ライブラリ | UI の Libraries タブで Maven coordinates を追加(例: org.apache.commons:commons-math3:3.6.1) |
https://docs.databricks.com/libraries/index.html#add-a-library |
セキュリティ・アクセス制御、構築後の検証、よくある落とし穴と回避策
本節では、ロールベースの権限付与 と デプロイ直後に実施すべき検証項目 を具体例とともに示します。過度な設定変更はアップグレード時の非互換リスクを高めるため、最小権限・テスト実行が鍵となります。
ロール設定とノートブック共有のベストプラクティス
| ロール | 正式名称(2026‑06) | 権限概要 |
|---|---|---|
| 管理者ロール(Azure) | Databricks Workspace Admin |
全クラスタ作成・ネットワーク設定・ユーザー招待 |
| ユーザーロール(Azure) | Databricks User |
ノートブック実行、データ閲覧 |
| 管理者ロール(AWS) | DatabricksAdminRole |
同上(公式: https://docs.databricks.com/security/aws/iam-policies.html#admin-role) |
| ユーザーロール(AWS) | DatabricksUserRole |
同上 |
ノートブック共有設定
- ノートブック → 「Permissions」
- 「Can Run」「Can Edit」の組み合わせで細かく制御し、フォルダ単位の ACL でも同様に権限を付与します。
サンプルジョブによる構築後検証手順
- サンプルノートブック(Python)を作成し、以下コードを実行
python
# データ生成
df = spark.range(0, 1_000_000).withColumn("value", (rand()*100).cast("int"))
# Delta テーブルへの書き込み
df.write.format("delta").mode("overwrite").save("/tmp/demo_delta")
# 読み出しと集計
delta_df = spark.read.format("delta").load("/tmp/demo_delta")
display(delta_df.groupBy("value").count().orderBy("value"))
- Spark UI の Stages と SQL タブで
- 実行時間が期待範囲(例: < 30 秒)か確認
-
spark.sql.adaptive.enabledが有効になっていることを再度spark.conf.get("spark.sql.adaptive.enabled")でチェック -
権限テスト:一般ユーザーアカウントで同ノートブックを実行し、エラーが出なければアクセス権が正しく設定されたと判断。
非推奨な変更やアップグレード時の落とし穴と回避策
| 落とし穴 | 具体例 | 回避策 |
|---|---|---|
過剰な spark.conf 上書き |
spark.sql.shuffle.partitions=2000 に固定するとスローダウン |
必要最小限だけ UI またはノートブックで設定し、公式ガイドの「ほとんどは変更しない」方針に従う |
| Runtime アップグレード後の API 非互換 | DeltaTable.forName が非推奨になるケース |
リリースノート Deprecated 項目を必ず確認し、テストクラスタでジョブを事前実行 |
| Init スクリプト失敗による起動遅延 | パッケージ取得に失敗するとクラスタが Pending 状態になる | set -euo pipefail を入れ、ログ出力先 /databricks/driver/logs/init.log を確認 |
ベストプラクティス総括:本番環境では「変更は最小限」「テストクラスタで事前検証」の 2 原則を守ることで、予期せぬダウンタイムやパフォーマンス劣化を防止できます。
本文中のリンクはすべて執筆時点(2026‑06‑15)における公式ドキュメント・Databricks ブログへの参照です。実際の運用開始前には、最新バージョンやポリシーが変更されていないか再度確認してください。