0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🚀 Azure × Databrick🚀 :DatabricksがADLSをどう読み書きするのか

Last updated at Posted at 2025-12-09

Azure × Databricks Storage(ADLS Gen2)とレイクハウス物理構造

unnamed.png

📚 関連書籍

『ゼロから触ってわかった!Azure × Databricksでつくる次世代データ基盤 非公式ガイド ―』

クラウドでデータ基盤を作ろうとすると、Azure・Storage・ネットワーク・権限・セキュリティ…そこに Databricks が加わった瞬間、一気に難易度が跳ね上がります。
「結局どこから理解すればいいの?」
「Private Link むずかしすぎない?」
「Unity Catalog って実務ではどう扱うの?」
——そんな “最初のつまづき” を丁寧にほどいていくのが本書です。
👉 https://amzn.to/4ocWcJI

DatabricksがADLSをどう読み書きするのか

Databricks を学ぶ際、多くの人が 「Notebookが動く」「Deltaが便利」という“表層” だけを理解しがちです。
しかし実務では、もっと重要で見落とされやすいポイントがあります。

「DatabricksはどのようにADLSを読み書きしているのか?」

この仕組みを理解しないと、

  • Permission Denied
  • ACIDエラー
  • External Location作成失敗
  • Deltaテーブル読み書き不可
    など、典型的なデータアクセス障害に必ず直面します。

本記事では、DatabricksがADLS Gen2を読み書きする“物理と論理の両面”をわかりやすく整理します。


1. 📡 DatabricksとADLSの通信の仕組み:ABFSプロトコル

DatabricksがADLSにアクセスする際、利用されるのが ABFS(Azure Blob File System)プロトコル です。

ABFSとは?

  • Azure Data Lake Storage Gen2 専用のアクセス方式
  • POSIX互換の階層型ファイルシステムを効率よく扱うための仕組み
  • Databricksは内部的にすべてABFS経由でアクセス

たとえば、以下のようなパスが ABFS です:
abfss://bronze@mydatalake.dfs.core.windows.net/table1/

yaml
コードをコピーする

ABFSの特徴

  • 高速でスケーラブル
  • Spark Executor が直接読み書き
  • Delta Lake の実体(Parquetファイル群)もABFS上に存在

ここが重要ポイントで:
Databricksは Storage に対して“API要求”を投げるのではなく、Spark Executor が直接ファイル操作を行う という点です。

つまり、Databricksの読み書きは「ADLSとの密結合」が前提となっており、ADLSの理解なくしてトラブルシュートは不可能です。


2. 🔐 DatabricksとADLSを結びつける“権限の四層モデル”

DatabricksがADLSに対して読み書きできるかどうかは、以下の4つの権限レイヤーが正しく構成されているかに依存します。


① ID(PMI:Private Managed Identity)

クラスターがAzureにアクセスする際の“本人証明”。

Databricksクラスター
→ 実態は PMI というAzureのIDとして動作しています。

② RBAC(Azureリソースに入るための鍵)

例:
Storage Blob Data Contributor

yaml
コードをコピーする

RBACがない場合、クラスターはStorageに到達する前に拒否されます。

③ ACL(Directory/Fileの細粒度権限)

“Storageに入れても、フォルダに入れるとは限らない”。

ACLはフォルダ/ファイル単位で r、w、x を定義するため、Deltaテーブルの場所にACLがなければ書き込みは失敗します。

④ Unity Catalog(論理層の権限)

SQLとしての権限。
例:SELECT、INSERT、MODIFY など。

Unity Catalogで SELECT を許可しても、ACLに r がなければ Permission Denied になります。


まとめ:Databricksは四層すべてが揃ったときに初めてADLSへアクセスできる

PMI → RBAC → ACL → Unity Catalog

yaml
コードをコピーする

どれか1つでも欠けると読み書きは成立しません。


3. 🚀 読み書きの実行フロー:クラスター → MI → Storage Credential → ADLS

Databricks が ADLS にアクセスする流れを“時系列”で追うと、理解が一気にクリアになります。

🔹 Step 1:Spark Executor が処理開始

Notebook で以下を書いたとします:

df.write.format("delta").save("/mnt/bronze/table1")
この瞬間Executorノードがファイル書き込み処理を開始します

🔹 Step 2:ExecutorがPMIを使ってAzureに認証

クラスターに付与された PMI が Azure に“私はこのIDでアクセスします”と証明します。

🔹 Step 3:Storage Credential(UC)により認証方式を仲介

Unity Catalog の Storage Credential が
“どの ID を使って ADLS にアクセスするか”
を決めます。

これは実務で最も理解されにくいポイントです。

🔹 Step 4:ABFS経由でADLSにアクセス

Spark Executor → ABFS → ADLS Gen2
という経路で直接ファイル操作が行われます。

Parquetの読み込み

Deltaファイルの書き込み

_delta_log の更新

これらはすべて ADLS 上のファイルとして処理されます。

🔹 Step 5:Delta LakeがACID制御をしながら書き込み
_delta_log にメタデータ更新

Parquetファイルを追加

スナップショットを維持

トランザクションとしてコミット

すべて“ADLS上のファイル操作”として完結します。

まとめ:Databricksの読み書きは“ID → 権限 → プロトコル → Delta”の四段構造

最重要まとめです:

DatabricksがADLSを読み書きする仕組み
クラスターが PMI としてふるまう

RBACでStorageに入る

ACLでフォルダ/ファイルにアクセス

UCでテーブル権限を評価

ABFSプロトコルで Executor が直接ファイル操作

Delta Lake がACID制御を実施

Databricksの挙動を正しく理解するには、この“階層構造”を頭に入れることが最速の近道です。


📚 関連書籍

Databricks/n8n/Salesforce/AI基盤 を体系的に学べる「ゼロから触ってわかった!」シリーズをまとめました。

Databricks

『Databricks──ゼロから触ってわかった!Databricks非公式ガイド』

クラウド時代の分析基盤を “体験的” に学べるベストセラー入門書。
Databricksの操作、SQL/DataFrame、Delta Lakeの基本、ノートブック操作などを
初心者でも迷わず進められる構成で解説しています。
https://www.amazon.co.jp/dp/B0FBGH8PQF

『ゼロから触ってわかった!Azure × Databricksでつくる次世代データ基盤 非公式ガイド ―』

クラウドでデータ基盤を作ろうとすると、Azure・Storage・ネットワーク・権限・セキュリティ…そこに Databricks が加わった瞬間、一気に難易度が跳ね上がります。
「結局どこから理解すればいいの?」
「Private Link むずかしすぎない?」
「Unity Catalog って実務ではどう扱うの?」
——そんな “最初のつまづき” を丁寧にほどいていくのが本書です。
👉 https://amzn.to/4ocWcJI

『Databricks──ゼロから触ってわかった!DatabricksとConfluent(Kafka)連携!非公式ガイド』

Kafkaによるストリーム処理とDatabricksを統合し、リアルタイム分析基盤を構築するハンズオン形式の一冊。
イベント駆動アーキテクチャ、リアルタイムETL、Delta Live Tables連携など、
モダンなデータ基盤の必須スキルがまとめられています。

👉 https://amzn.to/42HdmqZ

『Databricks──ゼロから触ってわかった!AI・機械学習エンジニア基礎 非公式ガイド』

Databricksでの プロンプト設計・RAG構築・モデル管理・ガバナンス を扱うAIエンジニアの入門決定版。
生成AIとデータエンジニアリングの橋渡しに必要な“実務の型”を体系化しています。
資格本ではなく、実務基盤としてAIを運用する力 を育てる内容です。

👉 https://amzn.to/46SutZy

『ゼロから触ってわかった! Snowflake × Databricksでつくる次世代データ基盤 - 比較・共存・連携 非公式ガイド』

SnowflakeとDatabricks――二つのクラウドデータ基盤は、これまで「どちらを選ぶか」で語られることが多くありました。
しかし、実際の現場では「どう共存させるか」「どう連携させるか」が、より重要なテーマになりつつあります。

本書は、両プラットフォームをゼロから触り、構築・運用してきた実体験をもとに、比較・共存・連携のリアルを丁寧に解説する“非公式ガイド”です。

👉 https://amzn.to/4pAONFq

🧠 Advancedシリーズ(上/中/下)

Databricksを “設計・運用する” ための完全版実践書

「ゼロから触ってわかった!Databricks非公式ガイド」の続編として誕生した Advancedシリーズ は、
Databricksを触って慣れた“その先”――本格運用・チーム開発・資格対策・再現性ある設計 に踏み込む構成です。

Databricks Certified Data Engineer Professional(2025年9月改訂版)のカリキュラムをベースに、
設計思考・ガバナンス・コスト最適化・トラブルシュートなど、実務で必須の力を養えます。

📘 [上]開発・デプロイ・品質保証編

👉 https://amzn.to/3LjCDBG

📘 [中]取込・変換・監視・コスト最適化編

👉 https://amzn.to/4oGwkXE

📘 [下]セキュリティ・ガバナンス・トラブルシュート・最適化戦略編

👉 https://amzn.to/433eTYU

n8n

『n8n──ゼロから触ってわかった!AIワークフロー自動化!非公式ガイド』

オープンソースの自動化ツール n8n を “ゼロから手を動かして” 学べる実践ガイド。
プログラミングが苦手な方でも取り組めるよう、画面操作中心のステップ構成で、
業務自動化・AI連携・API統合の基礎がしっかり身につきます。

👉 https://amzn.to/48Blxca

Salesforce

『ゼロから触ってわかった!Salesforce AgentForce + Data Cloud 非公式ガイド』

Salesforceの最新AI基盤 AgentForce と Data Cloud を、実際の操作を通じて理解できる解説書。
エージェント設計、トピック/アクション構築、プロンプトビルダー、RAG(検索拡張生成)など、
2025年以降のAI×CRMのハンズオン知識をまとめた一冊です。

👉 https://amzn.to/3L1TCs7

要件定義(上流工程/モダンデータスタック)

『モダンデータスタック時代の シン・要件定義 クラウド構築大全 ― DWHからCDP、そしてMA / AI連携へ』

クラウド時代の「要件定義」って、どうやって考えればいい?
Databricks・Snowflake・Salesforce・n8nなど、主要サービスを横断しながら“構築の全体像”をやさしく解説!
DWHからCDP、そしてMA/AI連携まで──現場で使える知識をこの一冊で。

👉 https://amzn.to/4pkMwOB

💡 まとめ:このラインナップで“構築者の視点”が身につく

これらの書籍を通じて、
クラウド基盤の理解 → 要件定義 → 分析基盤構築 → 自動化 → AI統合 → 運用最適化
までのモダンデータスタック時代のソリューションアーキテクトとしての全体像を
「体系的」かつ「実践的」に身につけることができます。

  • PoC要件整理
  • データ基盤の要件定義
  • チーム開発/ガバナンス
  • AIワークフロー構築
  • トラブルシュート

など、現場で直面しがちな課題を解決する知識としても活用できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?