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

以下の例では、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テーブルの作成とデータの挿入
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: 作成ページへアクセス
- 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サービスエンドポイント。 |
認証タイプ
認証には2つのタイプがあります:OAuth2とPersonal Access Token(PAT)。
-
OAuth2

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

フィールド 必須 説明 Token ✓ Unity CatalogのPersonal access token
ステップ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のクエリエンジンのパフォーマンスと機能を組み合わせることができます。