メインコンテンツまでスキップ

Databricks Unity Catalog

概要​

Databricks Unity Catalogは、クラウドやデータプラットフォーム全体でデータとAIアセットの統一されたガバナンスレイヤーです。Unity CatalogをVeloDB Cloudと統合することで、Unity Catalogが管理するメタデータを持つクラウドオブジェクトストレージに保存されたデータレイクテーブル(Icebergテーブルを含む)を直接クエリでき、シームレスなクロスプラットフォームデータアクセスと分析を可能にします。

このガイドでは、完全なセットアッププロセスを説明します:

  • Databricks環境とUnity Catalogの準備
  • VeloDB Cloudでの外部カタログ接続の作成
  • Unity Catalogテーブルからのデータクエリ

Databricks環境の準備​

VeloDB CloudでDatabricks Unity Catalog接続を作成する前に、Databricks Unity Catalog環境が以下の前提条件で適切に設定されていることを確認してください:

External Locationの作成​

Databricks Unity Catalogにおいて、External Locationは、クラウドオブジェクトストレージ(AWS S3など)のパスをStorage Credentialsと関連付けるセキュリティオブジェクトです。External Locationは外部アクセスをサポートし、Unity CatalogはCredential Vending機能を通じてVeloDB Cloudなどの外部システムに短期間の認証情報を発行し、これらのパスに保存されたデータへの安全なアクセスを可能にします。

Create External Location in Unity Catalog

以下の例では、Unity CatalogインターフェースでAWS S3にExternal Locationを作成する方法を示します。Unity Catalogがサポートする他のクラウドストレージプロバイダーでも同様の手順が適用されます。

Create External Location in Unity Catalog with AWS S3 path

作成後、External Catalogとそれに対応するCredentialを確認できます:

Unity Catalog External Location and Storage Credential created

Unity CatalogでのCatalogの作成​

Databricksワークスペースで、Unity Catalogインターフェースに移動し、Create Catalogオプションをクリックします。

Create Catalog in Unity Catalog

Catalog名を入力します。Use default storageのチェックを外し、先ほど作成したExternal Locationを選択します。

Configure Unity Catalog name and select External Location

External Use Schema権限の有効化​

作成したCatalogをクリック → Permissions → Grant:

Unity Catalog Permissions page to grant access

All account usersを選択し、EXTERNAL USE SCHEMAオプションにチェックを入れます。

Grant EXTERNAL USE SCHEMA permission to all account users in Unity Catalog

Icebergテーブルの作成とデータ挿入​

Databricks SQL Editorで以下のSQLを実行して、Unity CatalogでIcebergテーブルを作成し、サンプルデータを挿入します:

CREATE TABLE `my_unity_catalog`.default.iceberg_table (
id int,
name string
) USING iceberg;

INSERT INTO `my_unity_catalog`.default.iceberg_table VALUES(1, "jack");

VeloDB Cloud での Databricks Unity Catalog 接続の作成​

以下の手順に従って VeloDB Cloud で Databricks Unity Catalog 接続を作成し、VeloDB から Unity Catalog で管理されているテーブルを直接クエリできるようにします。

ステップ 1: 作成ページに入る​

  1. VeloDB Cloud コンソールにサインインします。
  2. 左のナビゲーションバーで Catalogs をクリックします。
  3. Add External Catalog ボタンをクリックします。
  4. Data Lake カテゴリの下で Databricks Unity Catalog を選択します。

ステップ 2: 基本情報を入力する​

Basic Information セクションで、Catalog の基本識別情報を設定します。

VeloDB Cloud Catalog creation basic information form

フィールド必須説明
Catalog Name✓Catalog の一意の名前で、SQL クエリでこのデータソースを識別するために使用されます。
Commentオプションの説明情報。

ステップ 3: Metastore を設定する​

Metastore セクションで、Databricks Unity Catalog サービスの接続情報を設定します。

Configure Unity Catalog Warehouse and REST URI in VeloDB Cloud

フィールド必須説明
Warehouse✓Unity Catalog で設定された Catalog 名を指定します。
Unity Catalog Iceberg REST URI✓Unity Catalog の REST サービスエンドポイント。

認証タイプ​

認証には OAuth2 と Personal Access Token(PAT) の 2 つのタイプがあります。

  • OAuth2

    Configure OAuth2 authentication for Unity Catalog connection

    フィールド必須説明
    Client ID✓OAuth2 サービスにアクセスするために使用される認証情報からの client ID。
    Client Secret✓OAuth2 サービスにアクセスするために使用される認証情報からの client secret。
    Scope✓OAuth2 アクセスリクエストのスコープ。
    Server URIトークンを取得するために使用される OAuth2 サービスエンドポイント。このパラメータはオプションで、一部のサービスでは明示的に指定する必要がない場合があります。
  • Personal Access Token

    Configure Personal Access Token authentication for Unity Catalog

    フィールド必須説明
    Token✓Unity Catalog のパーソナルアクセストークン

ステップ 4: 作成を確認する​

  1. すべての設定情報が正しいかチェックします。
  2. Confirm ボタンをクリックして Catalog を作成します。
  3. 接続検証が完了するまで待ちます。

作成に成功すると、Catalog リストで新しく作成された Databricks Unity Catalog 接続を確認できます。

Unity Catalog からのデータクエリ​

Databricks Unity Catalog 接続が正常に作成されると、VeloDB Cloud SQL Editor で Unity Catalog テーブルからのデータを直接クエリするために使用できます。これにより、Unity Catalog で管理されているメタデータとデータにアクセスしながら VeloDB のクエリエンジンを活用できます。

データベースとテーブルの表示​

以下の SQL コマンドを使用して Unity Catalog 構造を探索します:

-- View all databases under the Unity Catalog
SHOW DATABASES FROM my_unity_catalog;

-- View all tables under a database
SHOW TABLES FROM my_unity_catalog.`default`;

-- View table schema and metadata
DESCRIBE my_unity_catalog.`default`.iceberg_table;

Unity Catalog テーブルからのデータクエリ​

Unity Catalog テーブルからデータを取得するためにSQLクエリを実行します:

-- Query data with limit
SELECT * FROM my_unity_catalog.`default`.iceberg_table LIMIT 100;

-- Query with filtering conditions
SELECT column1, column2
FROM my_unity_catalog.`default`.iceberg_table
WHERE id = 10001;

VeloDB Cloudを通じて、Databricks Unity Catalogによって管理されるIcebergテーブルやその他のデータ形式をシームレスにクエリできるようになりました。これにより、Unity Catalogのガバナンス機能とVeloDBのクエリエンジンのパフォーマンスおよび機能を組み合わせることができます。