学習メモ — Databricks(Lakehouse / 学生無料枠)¶
lectures/databricks_basics/ の理解を1枚に圧縮したメモ。混乱はほぼ「用語の改称(DLT→Lakeflow, CE→Free Edition, DBFS→Volumes)」と「何が Free Edition でできて何ができないか」の取り違えで起きるので、用語集と改称表を最初に押さえると速い。
1行で言うと¶
Databricks = 安いストレージ(データレイク)の上に、DB のような表(Delta Lake)とガバナンス(Unity Catalog)を載せ、Spark で処理し、ノートブック/SQL/MLflow から使う「Lakehouse」プラットフォーム。 学生は Free Edition(恒久無料・サーバレス・自前クラウド不要) で全体を触れる。
全体像(レイヤ構造)¶
flowchart TD
Store[オブジェクトストレージ<br>安く何でも置く] --> Delta[Delta Lake<br>ACID・履歴を持つテーブル形式]
Delta --> UC[Unity Catalog<br>catalog.schema.table でガバナンス]
UC --> Compute[Spark 実行エンジン<br>Free Edition は serverless 専用]
Compute --> NB[Notebook<br>Python / SQL 混在]
Compute --> SQLW[SQL warehouse<br>ダッシュボード / Genie]
Compute --> ML[MLflow<br>実験管理 / モデルレジストリ]
BQ[(BigQuery 等 外部ソース)] -.->|Lakehouse Federation| UC
- 下から: ①ストレージに置き、②Delta で表にして ACID/履歴を得、③Unity Catalog で名前空間と権限を統治し、④Spark で処理し、⑤ノート/SQL/MLflow から使う。
- 外部の BigQuery 等は Federation で「その場でクエリ」して UC の統治下に取り込める(step05)。
登場するレイヤと担当¶
| レイヤ | 正体 | このフォルダのどこ |
|---|---|---|
| ストレージ | 安いオブジェクトストレージ(生ファイル/Parquet) | 土台(意識しなくてよい) |
| Delta Lake | Parquet + トランザクションログ。ACID・MERGE・タイムトラベル |
step03 |
| Unity Catalog | catalog.schema.table の3段名前空間+権限+リネージ。モデルも統治 |
step01, step04, step05 |
| Spark | 分散処理エンジン。spark 変数で最初から使える |
step02 |
| MLflow | 学習の記録・比較・登録 | step04 |
| 外部連携 | Federation / Spark connector で BigQuery 等と接続 | step05 |
用語集(混乱の早見表)¶
| 用語 | 一言で | 具体例 / どこで |
|---|---|---|
| Lakehouse | データレイク(安い・何でも)+ウェアハウス(速い・整形)を1つに | Databricks 全体のコンセプト |
| Delta Lake | ACID・履歴を持つテーブル形式(Parquet+_delta_log) | step03。既定のテーブル形式 |
| Unity Catalog (UC) | データ/モデルを catalog.schema.名前 で統治するガバナンス層 |
step01 の SHOW CATALOGS |
| catalog.schema.table | 3段の名前空間(ローカル DB の database.table に1段上を足した形) | workspace.study.prices |
| Volumes | 表でない生ファイルの置き場(/Volumes/cat/sch/vol/...)。DBFS の後継 |
step01 |
| workspace | 作業場(ノート・データ・計算がぶら下がる単位)。Free Edition は1つ | step01 |
| notebook | セル単位で Python/SQL/Markdown を混在実行する作業ノート | step01〜05 |
| cluster / serverless compute | 計算資源。cluster=自分で構成、serverless=Databricks 管理。Free Edition は serverless 専用 | step01 |
| SQL warehouse | SQL/BI 用の計算。Free Edition は 2X-Small 1台まで |
README §2-1 |
| MLflow run | 1回の学習の記録単位(params/metrics/artifacts が付く) | step04 |
| model registry | 学習済みモデルの版管理台帳。Databricks は UC で管理(catalog.schema.model) |
step04 |
| medallion | bronze(生)→silver(整形)→gold(集計) の3層データ設計 | step03 |
| Lakeflow | 宣言的パイプライン等の新ブランド。旧 Delta Live Tables(DLT) の改称先 | 改称表参照 |
| Genie / Assistant | 自然言語 BI / AI コーディング補助 | Free Edition に同梱 |
| connection / foreign catalog | 外部ソース(BigQuery 等)への接続と、それを鏡写しにした UC カタログ | step05 ① |
| Lakehouse Federation | 外部データをコピーせずその場でクエリ(読み取り専用・UC 管理) | step05 ① |
| Free Edition | 恒久無料・serverless・非商用。旧 Community Edition の後継 | README §2-1 |
| University Alliance | 大学メールで登録する学生プログラム(認定25%オフ+バッジ) | README §2-2 |
| Academy | 自習トレーニング(2025-06 から全無料。認定試験は有料) | README §2-3 |
判定に迷ったら¶
- 「これはテーブル? ファイル?」 → 表なら
catalog.schema.table、生ファイルなら Volumes(/Volumes/...)。 - 「BigQuery は Federation? connector?」 → 読むだけ・統治したい=Federation、書く/DataFrame ETL=Spark connector。
- 「Free Edition でできる?」 → 学習・ノート・Delta・UC・MLflow 記録=可。Model Serving・R/Scala・外部(BigQuery)連携=不可/不確実。
⚠️ 用語の改称に注意(2025-06 前後)¶
古い記事・コースと用語がズレる。写経・検索時はここを疑う。
| 旧 | 新(現行) | 備考 |
|---|---|---|
| Community Edition | Free Edition | CE は 2025 末で廃止・2026-01-01 以降アクセス不可 |
| Delta Live Tables (DLT) | Lakeflow Spark Declarative Pipelines | Lakeflow 傘下。Workflows→Lakeflow Jobs も。import dlt は from pyspark import pipelines as dp に |
| DBFS(root/mount) | Unity Catalog Volumes | DBFS は非推奨。生ファイルは Volumes へ |
| workspace 内モデルレジストリ | Unity Catalog レジストリ(databricks-uc) |
mlflow.set_registry_uri("databricks-uc") |
Free Edition 無料枠 早見(非商用・fair-use)¶
| 項目 | 枠 |
|---|---|
| workspace / metastore | 各1 |
| SQL warehouse | 2X-Small 1台 |
| 同時ジョブタスク | 5 |
| Databricks Apps | 3 |
| AI Search endpoint | 1 |
| 使えないもの | R / Scala、Model Serving、online tables、clean rooms、カスタムストレージ |
| ネットワーク | 送信先は信頼ドメインに限定(=BigQuery 等 外部連携が塞がれる要因) |
超過するとその日(最悪その月)コンピュートが止まる。SLA・サポート対象外。
学生無料枠の3本立て(README §2 の要約)¶
- Free Edition … 恒久無料・serverless・自前クラウド不要。最短で動かせる入口。
- University Alliance – Student … 大学メールで登録 → 認定試験25%オフ+バッジ。
- Academy … 自習コース全無料(Data Eng / ML / GenAI)。認定試験は $200・学生25%オフ。
data-platform-on-local との対比(自分のリポとの接続)¶
~/data-platform-on-local(ローカル) |
Databricks(このフォルダ) | |
|---|---|---|
| 立て方 | Docker Compose で Trino/MinIO/Spark を自分で組む | 組まれた基盤を使うだけ(serverless) |
| ストレージ | MinIO(S3 互換) | クラウドのオブジェクトストレージ |
| クエリエンジン | Trino / Spark | Spark(+SQL warehouse) |
| ガバナンス | 自前(Hive metastore 等) | Unity Catalog(統合済み) |
| 学びどころ | 基盤の部品と依存が見える | 統合された使い勝手と ML/AI 一体運用 |
→ 「基盤を組む(local)」と「基盤を使う(Databricks)」を両方触ると、データ基盤の解像度が上がる。
よくある誤解の訂正¶
- 「Community Edition を使えばいい」→ ×。2025 末で廃止。今は Free Edition。
- 「Free Edition でも本番サービングできる」→ ×。Model Serving は対象外(学習・記録・バッチ推論までは可)。
- 「Free Edition で BigQuery に繋げる」→ 不確実(たぶん不可)。serverless 専用+egress 制限で塞がれる公算大。手順理解はできるが実接続はフル workspace で。
- 「DBFS に置けばいい」→ 古い。生ファイルは Volumes。
- 「クラスタを自分で組む」→ Free Edition では不可。serverless のみ。
困りごと → 見る/使うもの(クイック早見表)¶
| 困りごと | 見る/使うもの |
|---|---|
| とにかく動かしたい | README §2-4 → step01 |
| 学生の登録・特典を知りたい | README §2(University Alliance / Academy) |
| Spark の書き方 | step02 |
| テーブルの更新・履歴 | step03(MERGE / VERSION AS OF) |
| 実験管理・モデル登録 | step04(MLflow / UC レジストリ) |
| BigQuery と繋ぐ | step05(Federation / connector) |
| 用語が古い記事と違う | 本メモ「用語の改称」表 |
| 何が無料枠でできる? | 本メモ「Free Edition 無料枠 早見」 |
作成: 2026-07-02 / 最終更新: 2026-07-02