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

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 Locationsは外部アクセスをサポートし、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をクリック → PermissionsGrant

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テーブルの作成とデータの挿入

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

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 NameCatalogの一意の名前。SQLクエリでこのデータソースを識別するために使用されます。
Commentオプションの説明情報。

ステップ3: Metastoreの設定

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

Configure Unity Catalog Warehouse and REST URI in VeloDB Cloud

フィールド必須説明
WarehouseUnity Catalogで設定されているCatalog名を指定します。
Unity Catalog Iceberg REST URIUnity CatalogのRESTサービスエンドポイント。

認証タイプ

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

  • OAuth2

    Configure OAuth2 authentication for Unity Catalog connection

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

    Configure Personal Access Token authentication for Unity Catalog

    フィールド必須説明
    TokenUnity CatalogのPersonal access token

ステップ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のクエリエンジンのパフォーマンスと機能を組み合わせることができます。