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などの外部システムに短期間の認証情報を発行し、これらのパスに保存されたデータへの安全なアクセスを可能にします。

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

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

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

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

External Use Schema権限の有効化
作成したCatalogをクリック → Permissions → Grant:

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

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: 作成ページに入る
- VeloDB Cloud コンソールにサインインします。
- 左のナビゲーションバーで Catalogs をクリックします。
- Add External Catalog ボタンをクリックします。
- Data Lake カテゴリの下で Databricks Unity Catalog を選択します。
ステップ 2: 基本情報を入力する
Basic Information セクションで、Catalog の基本識別情報を設定します。

| フィールド | 必須 | 説明 |
|---|---|---|
| Catalog Name | ✓ | Catalog の一意の名前で、SQL クエリでこのデータソースを識別するために使用されます。 |
| Comment | オプションの説明情報。 |
ステップ 3: Metastore を設定する
Metastore セクションで、Databricks Unity Catalog サービスの接続情報を設定します。

| フィールド | 必須 | 説明 |
|---|---|---|
| Warehouse | ✓ | Unity Catalog で設定された Catalog 名を指定します。 |
| Unity Catalog Iceberg REST URI | ✓ | Unity Catalog の REST サービスエンドポイント。 |
認証タイプ
認証には OAuth2 と Personal Access Token(PAT) の 2 つのタイプがあります。
-
OAuth2

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

フィールド 必須 説明 Token ✓ Unity Catalog のパーソナルアクセストークン
ステップ 4: 作成を確認する
- すべての設定情報が正しいかチェックします。
- Confirm ボタンをクリックして Catalog を作成します。
- 接続検証が完了するまで待ちます。
作成に成功すると、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のクエリエンジンのパフォーマンスおよび機能を組み合わせることができます。