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

[2024年12月版] Unity Catalogセットアップガイド / Unity Cata...

[2024年12月版] Unity Catalogセットアップガイド / Unity Catalog Setup Guide

2024年12月現在のUnity Catalogのセットアップ方法についてご説明します。

Databricks Japan

December 11, 2024
Tweet

More Decks by Databricks Japan

Other Decks in Technology

Transcript

  1. ©2023 Databricks Inc. — All rights reserved アジェンダ • Unity

    Catalogとは • Unity Catalogの自動有効化 • 注意点 • Unity Catalogセットアップガイド(AWS/Azure) • 参考資料 2
  2. ©2023 Databricks Inc. — All rights reserved DatabricksはデータとAIの ガバナンスを統合します 外部の計算プラットフォーム

    BI & データ ウェアハウス データエンジ ニアリング データ ストリーミング データ サイエンス & ML オープンインタフェース Databricks Unity Catalog 構造化、非構造化のデータ + AIに対する単一のガバナンスモデル データベースやデータウェアハウス クラウドデータレイク すべての構造化、半構造化、非構造化データ 外部カタログ
  3. Databricks Unity Catalog ディスカバリー データ共有 アクセス制御 監査 リネージ モニタリング テーブル

    ファイル モデル ノート ブック ダッシュボー ド データ & AIに対する統合ガバナンス ユーザー アプリ Databricks Unity Catalog データとAIに対する統合ビュー データとAIに対するシンプルな権限モデル AIで強化された監視と観測可能性 オープンなデータ共有
  4. ©2023 Databricks Inc. — All rights reserved メリット ▪ 新規ワークスペースはUnity

    Catalog(UC)へのアクセスが事前設定されて提 供されるので、アセットのガバナンスがデフォルトで確保されます。 ▪ アカウント管理者に連絡する必要なしにワークスペースの利用を開始 できます。 ▪ Unity Catalogをベースとする最新のDatabricks機能にアクセスできます。 ▪ Hiveサポートを含むUC以前のワークロードとの完全互換性があります。 8
  5. ©2023 Databricks Inc. — All rights reserved 概要 ワーク スペースでUCが

    自動有効化 1 ワークスペース 専用のカタログ 2 ワークスペース管理者が カタログの所有者 3 Hiveサポートに 変更なし 4 9
  6. ©2023 Databricks Inc. — All rights reserved 動作原理 ワーク スペース

    1 UC カタログ 1 ストレージ WS管理者 UCメタストア あるリージョンに最初のワークスペースが作成さ れると、それとともに自動でメタストアも作成され ます 自動作成されたメタストアには、ワーク スペース分離を維持するために、ルート ストレージ やメタストア管理者 は設定されません 新規 ワークスペース 10
  7. ©2023 Databricks Inc. — All rights reserved 動作原理 ワーク スペース

    1 UC カタログ1 ストレージ WS管理者 ワーク スペース 2 ストレージ WS管理者 UCメタストア 新規ワークスペースは同じ リージョンのUCメタストアに自 動でアタッチ されます 新規ワーク スペース UC カタログ2 11
  8. ©2023 Databricks Inc. — All rights reserved 動作原理 ワーク スペース1

    UC カタログ1 ストレージ WS管理者 ワーク スペース2 UC カタログ2 ストレージ WS管理者 UCメタストア ワークスペースとともに、ワークスペース名の ついた事前設定済みのカタログ が提供されま す カタログはデフォルトでワークスペースにア タッチされており、アクセスを明示的に解放し ない限り、当該ワークスペースからしかアクセ スできないことを意味します 12
  9. ©2023 Databricks Inc. — All rights reserved 動作原理 ワーク スペース1

    UC カタログ1 ストレージ WS管理者 ワーク スペース2 UC カタログ2 ストレージ WS管理者 ワークスペース管理者はカタログの所有権 を持ち、UCで新規カタログ、 ロケーション、コネクション、その他のルート レベルのオブジェクトを作成することができま す UCメタストア 13
  10. ©2023 Databricks Inc. — All rights reserved ワーク スペース2 UC

    カタログ2 ストレージ WS管理者 動作原理 ワーク スペース1 UC カタログ1 ストレージ WS管理者 このカタログはワークスペース専用の ストレージ を使用します: • Azure - DBFSに隣接する新規 コンテナ • AWS - ワークスペースストレージ配 下で分離されたプレフィクス UCメタストア 14
  11. ©2023 Databricks Inc. — All rights reserved 動作原理 ワーク スペース1

    UC カタログ1 ストレージ WS管理者 ワーク スペース2 UC ストレージ WS管理者 ユーザーがカタログ/スキーマを指定せず にCREATE TABLE myTableを実行した場 合、defaultとして設定されているカタログ にテーブルが作成されます。 これはworkspace default catalog という新たなワークスペース設定で制御さ れます。 Hiveを使い続けたい場合には、この 設定を変更します。 UCメタストア Hive 15
  12. ©2023 Databricks Inc. — All rights reserved Before vs After

    コンポーネント 以前のリリース UCの自動有効化 Unity Catalog ワークスペース作成後にアカウント管理者に よって有効化 ワークスペース作成時に自動で有効化 Hiveメタストア それぞれのワークスペースで自身の Hive メタストアを保持 それぞれのワークスペースで自身の Hive メタストアを保持 アイデンティティシステム ワークスペースごとのアイデンティティ システム、ローカルグループ アイデンティティフェデレーション , アカウントグルー プ (アカウント管理者、ワークスペース管理者に よって作成) デフォルトのカタログ Hive UI/APIで設定可能 (UCカタログかHiveを選択可 能) UCメタストアのストレージルート とメタストア管理者 必須 オプション (分散ガバナンスをサポート ) UCストレージ資格情報の作成 アカウント管理者のみ アカウント管理者、メタストア管理者、ワークスペー ス管理者、CREATE STORAGE CREDENTIAL権限 を持つユーザー UCカタログ作成 (コネクション、外部ロケーショ ン、共有にも適用) メタストア管理者、CREATE CATALOG権限を持つ ユーザー メタストア管理者、ワークスペース管理者、 CREATE CATALOG権限を持つユーザー 16
  13. ©2023 Databricks Inc. — All rights reserved 注意点 新規にカタログを作成する際にはストレージの指定 が必要です

    • 前提として、Unity Catalogではカタログやスキーマ(データベース)が使用するス トレージ(S3バケットやADLSコンテナ)が必要となります。 • 新規にワークスペースを作成し、Unity Catalogが自動で有効化されると、自動 で当該ワークスペース専用の(マネージド)ストレージ が作成され、 そのストレージ を使用する当該ワークスペース専用のカタログが自動で 作成されます。 18
  14. ©2023 Databricks Inc. — All rights reserved 注意点 新規にカタログを作成する際にはストレージの指定 が必要です

    • しかし、別途カタログを作成する場合には、上のステップで作成済みの ストレージあるいは新規のストレージを使用するように明示的に指示 する必要 があります。ストレージを指定せずにカタログを作成しようとすると以下のエラー メッセージに遭遇します。 • Metastore storage root URL does not exist. Please provide a storage location for the catalog (for example 'CREATE CATALOG myCatalog MANAGED LOCATION '<location-path>'). Alternatively set up a metastore root storage location to provide a storage location for all catalogs in the metastore. 19
  15. ©2023 Databricks Inc. — All rights reserved 注意点 ストレージを指定する際にはデータ分離ポリシー を検討する必要があります

    • ストレージは、メタストアレベル、カタログレベル、スキーマレベルで 指定することができます。レベルに応じたデータ分離が行われます。 • テーブルのストレージロケーション(場所)は、どのレベルのストレージが設定され ているのかによって、以下の順序で決定されます。 a. スキーマにストレージロケーションが設定されている場合、テーブルはスキーマの ストレージロケーション に格納されます。 b. カタログにストレージロケーションが設定されている場合、テーブルはカタログの ストレージロケーション に格納されます。 c. カタログにもストレージロケーションが設定されていない場合、テーブルは メタストアのストレージロケーション に格納されます。 20 Unity Catalogのベストプラクティス| Databricks on AWS
  16. ©2023 Databricks Inc. — All rights reserved 注意点 ストレージを指定する際にはデータ分離ポリシー を検討する必要があります

    21 クラウドストレージ (S3, ADLS, GCS) デフォルトのマネージドスト レージ メタストア Unity Catalog スキーマ1 マネージド ストレージ カタログ1 スキーマ3 カタログ2 マネージド ストレージ スキーマ2 1) メタストア にアタッチ されるデフォルトストレージ データは分離されません 2) カタログ レベルで定義 カタログレベルでの データ分離 3) スキーマ レベルで定義 スキーマレベルでの データ分離 強い推奨事項: メタストアの デフォルト ロケーションに カタログ/スキーマを格 納しない . . . カタログごとの 個別のマネージド ストレージ ロケーションを 指定しましょう (これがカタログ内のス キーマ/テーブルのデ フォルトロケーションに なります) Unity Catalogのベストプラクティス| Databricks on AWS
  17. ©2023 Databricks Inc. — All rights reserved Unity Catalog セットアップガイド

    22 Databricksワークスペース作成完了後の手順
  18. ©2023 Databricks Inc. — All rights reserved • AWS シナリオ1

    カタログレベルのデータ分離 • AWS シナリオ2 メタストアレベルのストレージ • Azure シナリオ1 カタログレベルのデータ分離 • Azure シナリオ2 メタストアレベルのストレージ 23
  19. ©2023 Databricks Inc. — All rights reserved シナリオ1: カタログレベルのデータ分離 26

    カタログで使用するストレージも外部ロケーションとして設定済みです
  20. ©2023 Databricks Inc. — All rights reserved シナリオ1: カタログレベルのデータ分離 27

    新規にカタログを追加します [注] CREATE CATALOG…MANAGED LOCATIONでも同様の操作が可能です。
  21. ©2023 Databricks Inc. — All rights reserved シナリオ1: カタログレベルのデータ分離 33

    ワークスペース作成時に構成されたS3に新規カタログのデータも格納されます
  22. ©2023 Databricks Inc. — All rights reserved シナリオ1: カタログレベルのデータ分離 34

    S3バケット自体も分離したい場合 • S3バケットを作成し、当該S3バケットにアクセス可能なストレージ資格 情報を作成します。 • ストレージ資格情報とS3バケットのパスを参照する外部ロケーションを 作成します。 • カタログ作成時に新規に作成した外部ロケーションを選択します。
  23. ©2023 Databricks Inc. — All rights reserved • この構成を取り消すことはできません。 •

    カタログレベルでのデータ分離は強制 できなくなります。 36
  24. ©2023 Databricks Inc. — All rights reserved シナリオ2: メタストアレベルのストレージ 37

    カタログレベルでのデータ分離が不要の場合 • メタストアレベルのデフォルトストレージとして使用するS3バケットを作成し、当該 S3バケットにアクセス可能なストレージ資格情報を作成 します。 • ストレージ資格情報とS3バケットのパスを参照する外部ロケーションを 作成します。こちらのS3バケットパスを、次のステップでアカウント コンソールで設定しますのでメモしておきます。 • Databricksアカウントコンソールにアクセスします。
  25. ©2023 Databricks Inc. — All rights reserved シナリオ2: メタストアレベルのストレージ 39

    メタストアのストレージを設定するためにS3バケットパスをセットします
  26. ©2023 Databricks Inc. — All rights reserved シナリオ2: メタストアレベルのストレージ 40

    外部ロケーションで参照するS3バケットパスを指定します
  27. ©2023 Databricks Inc. — All rights reserved 参考資料 41 •

    Unity Catalog の設定と管理 • Unity Catalogのベストプラクティス • Unity Catalog でマネージドストレージロケーションを指定する • Unity Catalogを使用したクラウドストレージへのアクセスの管理
  28. ©2023 Databricks Inc. — All rights reserved シナリオ1: カタログレベルのデータ分離 44

    カタログで使用するストレージも外部ロケーションとして設定済みです
  29. ©2023 Databricks Inc. — All rights reserved シナリオ1: カタログレベルのデータ分離 45

    新規にカタログを追加します [注] CREATE CATALOG…MANAGED LOCATIONでも同様の操作が可能です。
  30. ©2023 Databricks Inc. — All rights reserved シナリオ1: カタログレベルのデータ分離 48

    ADLSコンテナ自体も分離したい場合 • ストレージアカウントとストレージコンテナを作成し、パス(例: abfss://[email protected] et/)をメモしておきます。 • ストレージアカウントにアクセスできるマネージドIDを保持する Azure Databricksアクセスコネクタを作成します。(手順4までを実施) • ストレージ資格情報を作成します。(10番までを実施) • 外部ロケーションを作成します。 • カタログ作成時に、上で作成した外部ロケーションを選択します。
  31. ©2023 Databricks Inc. — All rights reserved • この構成を取り消すことはできません。 •

    カタログレベルでのデータ分離は強制 できなくなります。 50
  32. ©2023 Databricks Inc. — All rights reserved シナリオ2: メタストアレベルのストレージ 51

    カタログレベルでのデータ分離が不要の場合 • ストレージアカウントとストレージコンテナを作成し、パス(例: abfss://[email protected] et/)をメモしておきます。 • ストレージアカウントにアクセスできるマネージドIDを保持する Azure Databricksアクセスコネクタを作成します。(手順4までを実施) • ストレージ資格情報を作成します。(10番までを実施) • 外部ロケーションを作成します。 • Azure Databricksアカウントコンソールにアクセスします。
  33. ©2023 Databricks Inc. — All rights reserved シナリオ2: メタストアレベルのストレージ 53

    メタストアのストレージを設定するためにADLS Gen2パスをセットします
  34. ©2023 Databricks Inc. — All rights reserved シナリオ2: メタストアレベルのストレージ 54

    外部ロケーションで参照するADLS Gen2パスを指定します
  35. ©2023 Databricks Inc. — All rights reserved 参考資料 55 •

    Unity Catalog の設定と管理 - Azure Databricks | Microsoft Learn • Unity Catalog のベスト プラクティス - Azure Databricks | Microsoft Learn • Unity Catalog のマネージド ストレージの場所を指定する - Azure Databricks | Microsoft Learn • Unity カタログを使用してクラウド ストレージへのアクセスを管理する - Azure Databricks | Microsoft Learn