Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Databricksアカウント & Unity Catalogメタストア概要 / ...

Azure Databricksアカウント & Unity Catalogメタストア概要 / Azure Databricks Account and Unity Catalog Metastore Overview

Databricks Japan

January 20, 2025
Tweet

More Decks by Databricks Japan

Other Decks in Technology

Transcript

  1. ©2024 Databricks Inc. — All rights reserved Azure Databricks アカウント

    & メタストア概要 データブリックス・ジャパン株式会社 2024年9月12日 1
  2. ©2024 Databricks Inc. — All rights reserved アジェンダ • 従来のHiveメタストアとUnity

    Catalogメタストアの違い • Azure Databricksアカウントの概要 • Azure Databricksの関連リソースのER図 1 2 3
  3. ©2024 Databricks Inc. — All rights reserved テーブル : sales.users

    パス: sales@sample/users Azure Databricksにおけるメタストアの役割: メタデータおよびアクセス制御情報の管理 • メタデータ :スキーマ(データベース)、テーブル、ビューの構造、 カラム、実データの場所などに関する情報 • データアクセス のための権限情報なども合わせてメタストアで管理 実データ ユーザーのADLS Gen2 CSV users_1 CSV users_2 CSV users_N メタデータ Azure Databricksマネージドのメタストア 親スキーマ: sales 実データの場所: sales@sample/users アクセス可能 • Sales: Owner • SE: Read & Write • Marketing: Read Only カラム • id: string • name: string • age: number SELECT * FROM sales.users DELETE FROM sales.users SEグループ のユーザー Marketingグ ループの ユーザー ✅ ❌
  4. ©2024 Databricks Inc. — All rights reserved Azure Databricksにおけるメタストアの役割: メタデータおよびアクセス制御情報の管理

    • メタデータ :スキーマ(データベース)、テーブル、ビューの構造、 カラム、実データの場所などに関する情報 • データアクセス のための権限情報なども合わせてメタストアで管理 以前:Hiveメタストア がこの役割を担っていた 現在:Unity Catalogメタストア の利用を推奨 1. Hiveメタストアの全機能を包含し、より使いやすく強化 2. Databricksの新機能はUnity Catalogを前提としたものが大半 → 新機能によりガバナンス、ユーザーの生産性が向上
  5. ©2024 Databricks Inc. — All rights reserved Unity Catalog (UC)

    とともに利用可能な機能 UC Hiveメタストア ワークスペース横断のガバナンス (アクセス制御、メタストア、 ID管理) ✅ ❌ (ワークスペースレベルの管理 ) リアルタイムの自動化されたテーブルおよび列レベルのデータリネージ ✅ ❌ 行フィルターと列マスキング (きめ細かいアクセス制御のための標準 SQL関数使用) ✅ ❌ ボリューム (非テーブル形式のデータ /任意のファイル - 画像、動画、PDFなどを管理) ✅ ❌ レイクハウスフェデレーション (外部データベース、データウェアハウス、 Hive Metastore、AWS Glueの発見、管理、クエリ ) ✅ ❌ レイクハウスモニタリング (自動生成されたアラートとダッシュボードによるデータと MLモデルの品質監視 ) ✅ ❌ Delta Sharing (クラウド、リージョン、データプラットフォーム間でファイル、テーブル、 MLモデル、ノートブックを共有 ) ✅ ❌ Databricks マーケットプレイス ✅ ❌ Databricks クリーンルーム (プライバシーを保護しながらデータを協力して扱う ) ✅ ❌ AI/BI Genie ✅ ❌ Databricks アシスタント (レイクハウス上の知識エンジンで自然言語による洞察を得る ) ✅ ❌ (限定的な体験 ) AI向けのガバナンス (MLモデル、特徴量ストアの管理とガバナンス ) ✅ ❌ システムテーブル (課金、監査、系統、マーケットプレイス分析のためのエンドツーエンドの可観測性 ) ✅ ❌ Lakehouse Apps ✅ ❌ Databricks Connect V2 ✅ ❌ マテリアライズドビュー ✅ ❌ 予測最適化 (クエリ計画とデータレイアウトを最高の性能のために最適化し、読取と書込の性能をインテリジェントにバランス ) ✅ ❌ ストリーミングテーブル ✅ ❌ HMSインターフェイス (Athena, Presto, Trino, EMRなどの他のデータプラットフォームを使用して UCに登録されたデータをクエリ ) ✅ ✅ ベクトル検索 ✅ ❌ サーバーレスワークフロー ✅ ❌
  6. ©2024 Databricks Inc. — All rights reserved 7 組み込みの検索とデータ検出 •

    Unity Catalogに保存されたデータ資産を横 断的に検索 • UCのオブジェクトへのタグ付け: 列、テーブル、スキーマ、カタログ • タグでオブジェクトを検索 • Unity Catalogの共通権限モデルを活用 • 推奨: データ資産の取り込み時に コメントとタグを付与 低レイテンシーのデータ検出で価値創造までの時間を短縮 Unity Catalogメタストア管理下のデータが対象
  7. ©2024 Databricks Inc. — All rights reserved 8 • Databricksクラスター/SQLウェアハウスで

    処理したデータリネージを自動で記録 • テーブル、カラム、ダッシュボード、ワークフ ロー、ノートブック、ファイル、外部ソース、モ デルを横断 • Unity Catalogの共通権限モデルを活用 • 推奨: Unity Catalogへのアップグレード! 組織内のデータの流れや利用状況をエンドツーエンドで可視化 すべてのワークロードで自動化されたリネージ Unity Catalogメタストア管理下のデータが対象
  8. ©2024 Databricks Inc. — All rights reserved Hiveメタストア Hive /

    Unity Catalogメタストアの主な違い 名前空間 専用・共有の考え方 メタストアの場所 Hive メタストア 2階層 スキーマ > テーブル 特定のADBワークスペース専用 他ワークスペースとの共有は不可 Azure Databricksマネージド (ADBが管理するサブスクリプションで、 各リージョンの顧客向け共有リソースとして稼働) Unity Catalog メタストア 3階層 カタログ > スキーマ >> テーブル カタログの所有者が以下を行える • カタログとワークスペースの関連付け • この際、ワークスペースからカタログの 読み 書き可能/読取専用 を指定可能 つまり専用・共有の両方を実現 できる • 特定のワークスペース専用のカタログ • 複数のワークスペースで共有カタログ(読み 書き可能/読取専用) Azure Databricksマネージド (ADBが管理するサブスクリプションで、 各リージョンの顧客向け共有リソースとして稼働) ADB WS1 Aシステム開発用 ADB WS2 Aシステム検証用 テストデータ用ス キーマ テーブルA ✅ ✅ ❌ Unity Catalogメタストア ADB WS1 Aシステム開発用 ADB WS2 Aシステム検証用 ADB WS3 Aシステム本番用 テストデータ用カタログ テーブルB Hiveメタストア テストデータ用ス キーマ テーブルA テーブルB テーブルA テーブルB スキーマA 本番データ用 カタログ 読取専用 読み書き可能 読み書き可能
  9. ©2024 Databricks Inc. — All rights reserved Hive / Unity

    Catalogメタストアのライフサイクル Hiveメタストア • ADBワークスペースと連動し自動的に作成・削除 Unity Catalogメタストア • アカウントコンソール (後述)でメタストアの作成・削除などを行える • Entra IDテナントとリージョンの組み合わせ ごとにメタストアを1つ作成できる • Unity Catalogの自動適用 :2023年11月以降に新規作成したADBワークスペースが対象 • ADBワークスペースを作成するリージョンにメタストアが存在しない場合、 メタストアが自動作成される • ADBワークスペースが自動的にメタストアに割り当てられる Hiveメタストア Unity Catalogメタストア
  10. ©2024 Databricks Inc. — All rights reserved Unity CatalogとADLS Gen2の関係

    ADLS Gen2の関連付け • Unity Catalogのメタストア、カタログ、スキーマのそれぞれに ADLS Gen2のコンテナーのパスを関連付けられる • 下位のオブジェクトは特に指定がない場合、上位のオブジェクトの ADLS Gen2設定を引き継ぐ データの分離 • 実際の運用として、カタログレベルでのデータの分離 を推奨 • 各システムやプロジェクトごとに別々のカタログを作成し、それぞれに異なる ADLS Gen2のコンテナーのパスを関連 付ける • これにより、システムやプロジェクトごとにデータを分離して課金やセキュリティの管理ができる Unity Catalogでメタデータを管理、ADLS Gen2に実データを格納 Unity Catalogメタストア ADB WS1 開発用 テストデータ用 カタログ ADB WS2 検証用 ADB WS3 本番用 本番データ用 カタログ Azureサブスクリプション(開発用) Azureサブスクリプション(本番用) テストデータ用 ADLS Gen2コンテナー 本番データ用 ADLS Gen2コンテナー ADLS Gen2の関連付け データの分離 読取専用 実データの 格納先 実データの 格納先 読み書き可能 読み書き可能
  11. ©2024 Databricks Inc. — All rights reserved Azure Databricksアカウントとは •

    Entra IDテナントを信頼するすべてのAzureサブスクリプション配下の すべてのAzure Databricksワークスペースを一元管理するための仕組み • Databricksアカウントの管理者ロールを持つユーザーが、アカウントコンソール (accounts.azuredatabricks.net) という専用のWeb UIで各種管理を行える Entra ID テナント Azure サブスクリプション Azure サブスクリプション Databricks ワークスペース Databricks ワークスペース Databricks ア カウント アカウント コンソール Databricks ワークスペース メタストア管理 メタストアの作成・削除、 ワークスペースへの割り当て ユーザー管理 ユーザー・グループ・サービスプ リンシパルの作成・削除 アカウントレベルの 設定 サーバーレス機能のネットワーク セキュリティ設定、SCIMプロビ ジョニング設定など アカウントコンソールで行える管理作業の例
  12. ©2024 Databricks Inc. — All rights reserved アカウントコンソールの初期設定の流れ 初回サインイン •

    アカウントコンソールの初回サインインはEntra IDのグローバル管理者ロール を持 つユーザーが行う必要がある • Entra IDテナントとDatabricksアカウントの1:1の安全な関連付けの確立が目的 サインイン後 • 初回サインインを行ったEntra IDグローバル管理者ユーザーに自動的に Databricksのアカウント管理者ロール が付与される • このユーザーが他ユーザーにDatabricksのアカウント管理者ロールを付与する • これでEntra IDグローバル管理者ユーザーの役割は終了 • このユーザーはDatabricksアカウントから削除して問題ない ① 初回サインイン ② サインイン後
  13. ©2024 Databricks Inc. — All rights reserved Databricksの2種類の管理者: アカウント管理者とワークスペース管理者 IDとアクセス

    アカウントレベルでの • ユーザーの追加・削除 • グループの作成・削除 • サービスプリンシパルの作成・削除 • 上記のアクセス権の管理 メタストア管理 • メタストアの作成・削除 • メタストアとワークスペースの関連付け セキュリティ設定 サーバーレス機能のネットワークセキュリティ 設定の管理 ユーザープロビ ジョニング設定 SCIMによるEntra IDのユーザー・グループの 自動同期設定 機能の有効化 サーバーレス機能(ワークフロー、ノートブック、 DLT)やAzure AIサービス機能など プレビュー管理 アカウントレベルでのプレビュー機能の ON/OFFを 管理 アカウント管理者ができること IDとアクセス ワークスペースレベルでの • ユーザーの追加・削除 • グループの作成・削除 • サービスプリンシパルの作成・削除 • 上記のアクセス権の管理 セキュリティ設定 ノートブックの結果や SQLの結果のダウンロード の許可・拒否など クラスター設定 ワークスペースのすべてのクラスター用の initスク リプトの管理など 開発設定 Git URLの許可リストの管理など 通知設定 アラートの通知先の管理など Advanced Advancedな機能を管理(個人アクセストークン、 DBFSファイルブラウザーの有効化など) プレビュー管理 ワークスペースレベルでのプレビュー機能の ON/OFFを管理 ワークスペース管理者ができること
  14. ©2024 Databricks Inc. — All rights reserved Azure Databricksの関連リソースのER図 Entra

    IDテナント サブスクリプション リソースグループ アカウント ワークスペース メタストア カタログ スキーマ 1 0..n 1 0..n 1 0..n 1 0..n 1 0..1 1 0..n テーブル 0..n 1 0..n 1 ストレージ資格情報 , 外部ロ ケーション, データ共有, 受信 者, プロバイダー, 接続, クリー ンルーム ボリューム, ビュー, モデル, 関数 1 0..n 0..n 0..n 0..1 n 0..n m Azure Azure Databricks Unity Catalogのオブジェクト クラスター, ジョブ, パイプ ライン, ノートブック, ダッ シュボード etc. 1 0..n ストレージアカウント (ADLS Gen2) 1 0..n コンテナー 1 0..n 0..n 1
  15. ©2024 Databricks Inc. — All rights reserved Azure Databricksの関連リソースのER図 Entra

    IDテナント サブスクリプション リソースグループ アカウント ワークスペース メタストア カタログ スキーマ 1 0..n 1 0..n 1 0..n 1 0..n 1 0..1 1 0..n テーブル 0..n 1 0..n 1 ストレージ資格情報 , 外部ロ ケーション, データ共有, 受信 者, プロバイダー, 接続, クリー ンルーム ボリューム, ビュー, モデル, 関数 1 0..n 0..n 0..n 0..1 n 0..n m Azure Azure Databricks Unity Catalogのオブジェクト クラスター, ジョブ, パイプ ライン, ノートブック, ダッ シュボード etc. 1 0..n ストレージアカウント (ADLS Gen2) 1 0..n コンテナー 1 0..n 0..n 1 ユーザー アカウント 管理者 ワークスペース 管理者 • グループを管理者として設定することを推奨 • ユーザーは複数のアカウント、ワークスペースに所属可能
  16. ©2024 Databricks Inc. — All rights reserved Q&A 1. 初回ADB

    (Professional/Enterprise Use)を利用し始めるためのアクションは? →Azure Portal上でADBワークスペースを作成する(Not アカウント) 2. ADB Workspaceを新規作成するために必要なAzure上のロール *2は? →当該RGにおけるAzure IAM Role - Contributer/Owner ※Workspaceへのメタストアのアタッチを行うには、Databricks上のアカウント管理者権限が必要 ※Unity Catalogからストレージアクセスを行う設定を行うには、ストレージアカウントに対するAzure Role - RBACロールが必要 *3 3. ADB Account Consoleにアカウント管理者として初回ログインするために必要な Azure上のロールは? →当該テナントにおけるEntra ID Role - グローバル管理者 4. あるユーザーにADB Workspace Adminを付与する際、付与対象者が保持すべき Azure上のロールは? →特になし、ADBのAccount Console/ワークスペース設定でユーザー/グループを指定することで付与可能 5. あるユーザーにADB Account Adminを付与する際、付与対象者が保持すべき Azure上のロールは? →特になし、ADBのAccount Consoleでユーザーを指定することで付与可能 *1: ADB - Azure Databricks *2: Azure ロール、Microsoft Entra ロール、従来のサブスクリプション管理者ロール | Microsoft Learn *3: Unity Catalog で Azure マネージド ID を使用してストレージにアクセスする - Azure Databricks | Microsoft Learn