カタログの管理
カタログ・ツールを使用して、複数のカタログを有効にできるようになりました。
同じテナンシ内の他のAutonomous Databaseから追加カタログをマウントできるため、複数のデータベースにわたってデータを検索できます。
カタログとしてAutonomous Databaseをマウント
既存のAutonomous Databaseを使用してデータベース・リンクを作成し、カタログ名を指定してマウントします。
ノート:
Autonomous Databaseをカタログとしてマウントするには、CREATE DATABASE LINK
およびCREATE ANY DIRECTORY
システム権限が必要です。ADMINユーザーには、CREATE DATABASE LINK
およびCREATE ANY DIRECTORY
システム権限が付与されます。ADMINユーザーは、CREATE DATABASE LINK
およびCREATE ANY DIRECTORY
システム権限を他のユーザーに付与できます。
- オブジェクト・ストレージ資格証明をAutonomous Databaseに格納します
- データベース・リンクを作成するか、または既存のデータベース・リンクを使用します
- データベース・リンクをカタログとしてマウントします
-
「カタログ」ページで、「カタログの管理」を選択します。「+追加」をクリックします。
- 「カタログの追加」ページで、カタログ・ソースとして「Autonomous Database」を選択します。
- ドロップダウンからデータベース名を選択します。たとえば、TESTINGです。
- データベース名を選択すると、次のフィールドが表示されます。次のフィールド値を指定します。
- カタログ名: データベース・リンクをマウントするカタログの名前を入力します。たとえば、TESTINGです。
- データベース・リンク名: 既存のデータベースを使用して作成されるデータベース・リンクの名前を入力します。たとえば、TESTING_LINKです。
- データベース資格証明: データベース・リンクの作成に必要な資格証明をドロップダウンから選択します。たとえば、AWSGLUE_CREDです。
既存の資格証明がない場合は、「資格証明の作成」をクリックします。
- 「拡張オプションの表示」で、ドロップダウンからウォレット・ディレクトリ名を選択します。ディレクトリにアクセスする権限が必要です。たとえば、WALLET_DIR-TESTINGです。
ノート:
ウォレット・ファイルをデータベースのユーザーIDおよびパスワードと組み合せることで、ターゲットOracle Autonomous Databaseのデータにアクセスできます。 - 「テスト」をクリックして、データベース・リンクの作成をテストします。
「作成」をクリックして、Autonomous Databaseをカタログとして作成します。
正常に作成されたら、「カタログの管理」にAutonomous Databaseがリスト表示されます。
カタログとして既存のデータベース・リンクをマウント
カタログ・スキーマは、ローカル・データベース・ユーザーとしてインスタンス化できます。データベース・リンクがすでに設定されている場合は、リンクされたデータベースにカタログをマウントして、そのデータベース内のデータ・セットを検索および検出できます。
- データベース・リンク名
- データにアクセスするために必要なクラウド資格証明
データベースの1つにデータベース・リンクを追加し、そのメタデータを新しいカタログとしてマウントできます。
- 「カタログ」ページで、「カタログの管理」を選択します。
- 「+追加」をクリックします。
- 「カタログの追加」ページで、カタログ・ソースから「データベース・リンク」を選択します。
- 「データベース・リンク」タブを選択します。
- ドロップダウンからデータベース・リンク名を選択します。たとえば、AA-TESTING_LINKです。
- 「カタログ名」フィールドにカタログの名前を入力します。たとえば、AA-TESTING_LINKです。
- 「作成」をクリックします。
新しくマウントされたカタログが「カタログの管理」ダイアログ・ボックスに表示されます。
データベース・リンクを使用して接続されたデータベースに新しいカタログを正常にマウントすると、カタログ・エクスプローラでカタログを選択し、その中のデータを検索できます。
カタログとしてライブ共有またはデルタ共有プロバイダをマウント
登録されたデータ共有からカタログをマウントできます。これにより、コンシューマは、他のデータベース内の他のプロバイダによって定義された表にアクセスできます。外部表は1回のみ定義する必要があります。
- 「カタログ」ページで、「カタログの管理」を選択します。「+追加」をクリックします。
- 「カタログの追加」ページで、カタログ・ソースから「データ共有」を選択します。
- 「次」をクリックして、「プロバイダ設定の共有」タブに進みます。
「ソースの共有」で、使用可能なオプションのいずれかを選択します:
- ライブ共有プロバイダからの選択
- デルタ共有プロバイダJSON
この例では、ライブ共有プロバイダから共有ソースを選択します。
「共有プロバイダの詳細」で、次の詳細を指定します:
- プロバイダ名: 共有プロバイダの名前を入力します。たとえば、TEST-PROVIDERです。
- 説明: 説明を入力します。このフィールドはオプションです。
- 「次」をクリックして、「共有の選択」タブに進みます。
- 「プロバイダ設定の共有」タブで、カタログとしてマウントする共有を「使用可能な共有」から「選択した共有」にドラッグ・アンド・ドロップします。
- 「次」をクリックして、「カタログの詳細」タブに進みます。「カタログの詳細」タブで、次の詳細を指定します:
- カタログ名: わかりやすいカタログ名を入力します。
- カタログの説明: 説明を入力します。
- 「作成」を選択し、ライブ共有またはデルタ共有をカタログとしてマウントします。
共有に新しいカタログを正常にマウントすると、カタログ・エクスプローラでカタログを選択し、その中のデータを検索できます。
カタログとしてAmazon Glueをマウント
登録されたAWS Glueデータ接続からカタログをマウントできます。
- 「カタログ」ページで、「カタログの管理」を選択します。
- 「+追加」をクリックします。
- 「カタログの追加」ページで、カタログ・ソースから「Amazon Glue」を選択します。
- 「次」をクリックして、「Amazon Glueカタログ」タブに進みます。
- 「Amazon Glueカタログ」タブで、次の詳細を指定します:
- データ・カタログ接続の資格証明: ドロップダウンから資格証明を選択します。
- リージョン: ドロップダウンからリージョンを選択します。
- 「次」をクリックして、「カタログの詳細」タブに進みます。「カタログの詳細」タブで、次のフィールド値を指定します:
- カタログ名: カタログを参照するためにData Studioで使用する名前を入力します。
- カタログの説明: カタログの説明を入力します。
- 「作成」をクリックして、「AWS Glueデータ・カタログ」リージョンをカタログとしてマウントします。
「AWS Glueデータ・カタログ」リージョンに新しいカタログを正常にマウントすると、カタログ・エクスプローラでカタログを選択し、その中のデータを検索できます。
カタログとしてOCIデータ・カタログをマウント
登録されたOCIデータ・カタログからカタログをマウントできます。
- 「カタログ」ページで、「カタログの管理」を選択します。「+追加」をクリックします。
- 「カタログの追加」ページで、カタログ・ソースから「OCIデータ・カタログ」を選択します。
- 「次」をクリックして、「OCIデータ・カタログ」タブに進みます。
- 「OCIデータ・カタログ」タブで、次のフィールド値を指定します:
-
データ・カタログ接続の資格証明: ドロップダウンから資格証明を選択します。このフィールドは必須です。たとえば、BASICOCICREDです。
-
リージョン: ドロップダウンからリージョンを選択します。このフィールドは必須です。たとえば、us-phoenix-1です。
-
データ・カタログID: ドロップダウンからデータ・カタログIDを選択します。データ・カタログIDは、データ・カタログが属するアカウントのIDです。たとえば、catalog1です。
「オブジェクト・ストレージ用の別の資格証明を使用」は、選択した資格証明以外の別の資格証明を使用する場合に選択します。
-
- 「次」をクリックして、「カタログの詳細」タブに進みます。
- 「カタログの詳細」タブで、次のフィールド値を指定します:
- カタログ名: カタログを参照するためにData Studioで使用する名前を入力します。たとえば、TEST_CATALOGです。
- カタログの説明: カタログの説明を入力します。
- 「作成」をクリックして、OCIデータ・カタログをカタログとしてマウントします。
OCIデータ・カタログに新しいカタログを正常にマウントすると、カタログ・エクスプローラでカタログを選択し、その中のデータを検索できます。
Icebergデータ・カタログへのカタログのマウント
Icebergデータ・カタログにカタログを追加できます。カタログとIcebergデータの統合では、UnityやPolarisなどのサポートされているカタログと接続します。Data Studioを介してIcebergデータ・カタログを統合するには、Icebergカタログが適切に構成され、アクセス可能であることを確認する必要があります。
- Icebergエンドポイント: Iceberg REST APIを使用して、PolarisまたはUnityカタログを設定します。ここでは、カタログ・タイプ、URIおよびウェアハウスの場所を指定します。外部IcebergカタログのRESTエンドポイントが必要です。これは、IcebergメタデータにアクセスできるようにするURLです。
例: https://your-iceberg-catalog.com/api/v1/iceberg
- トークン・エンドポイント: /v1/oauth/tokensエンドポイントは、ベアラー・トークンを発行するためにIceberg RESTカタログによって提供されます。
- クライアントIDとクライアント・シークレット: これらは、アプリケーション(この場合、UnityおよびPolarisカタログ統合)を識別するためにOAuthサーバーによって提供される資格証明です。これらの資格証明を使用して、Bearerトークンを生成します。
- Bearerトークン: Iceberg RESTエンドポイントへのリクエストを認証するために、OAuthをクライアント資格証明とともに使用します。カタログ・ツールは、トークン・エンドポイントをコールしてBearerトークンを受け取ります。
- ネームスペース: ネームスペースは、データベース内のスキーマに相当します。この場所は、カタログ内のIceberg表のリポジトリとして機能します。Icebergカタログは表をネームスペースにグループ化し、このネームスペースは他のネームスペース内でネストできます。Iceberg仕様では、任意のレベルのネスティングをサポートしています。
たとえば、
SALES
表はSTORES
ネームスペース内で定義できます。STORESネームスペースはRETAIL
ネームスペース内で定義され、RETAILネームスペース自体はCORPORATE
ネームスペース内で定義されます。このような表のIcebergの場所は、CORPORATE.RETAIL.STORES.SALES
です。
CREATE OR REPLACE CATALOG INTEGRATION tabular_catalog_int
CATALOG_SOURCE = ICEBERG_REST
TABLE_FORMAT = ICEBERG
CATALOG_NAMESPACE = 'default'
REST_CONFIG = (
CATALOG_URI = 'https://api.tabular.io/ws'
CATALOG_NAME = '<tabular_warehouse_name>'
)
REST_AUTHENTICATION = (
TYPE = OAUTH
OAUTH_TOKEN_URI = 'https://api.tabular.io/ws/v1/oauth/tokens'
OAUTH_CLIENT_ID = '<oauth_client_id>'
OAUTH_CLIENT_SECRET = '<oauth_secret>'
OAUTH_ALLOWED_SCOPES = ('catalog')
)
ENABLED = TRUE;
ここで、CATALOG_URI
は、ウェアハウスにアクセスするためのRESTエンド・ポイントです。
REST_AUTHENTICATION
プロシージャは、BEARER TOKEN
を作成し、それを使用して資格証明を作成するために必要なすべてのパラメータで構成されます。
その詳細は、「Configure a catalog integration for Apache Iceberg™ REST catalogs」を参照してください。
- 「カタログ」ページで、「カタログの管理」を選択します。「+追加」をクリックします。
- 「カタログの追加」ダイアログで、「カタログ・ソース」タブから「Icebergカタログ」を選択します。
「次」をクリックします。
-
「カタログの追加」ダイアログの「カタログ・ソース」タブで、次のフィールド値を指定します:
- カタログ名: Iceberg カタログをマウントするカタログの名前を入力します。
たとえば、Polarisです。
-
Icebergカタログ・タイプ: ドロップダウン・フィールドから「Polaris」を選択します。
- Icebergカタログ・エンドポイント: Polarisカタログ・アカウントURLを指定します。SnowflakeのPolarisカタログのエンドポイントの形式は通常、https://<account_locator>.snowflakecomputing.com/polaris/api/catalogです。アカウント識別子の形式の詳細は、Snowflakeのドキュメントを参照してください。
- Icebergカタログ資格証明: ドロップダウン・リストの使用可能な資格証明のリストから資格証明を選択します。資格証明がない場合は作成できます。「資格証明の作成」を選択します。「資格証明の作成」ダイアログで、次のフィールド値を指定します:
- 資格証明名: 資格証明の名前を入力します。たとえば、POLARIS_CREDです。
「新しいBearerトークンの取得」で、
- アクセス・トークン・エンド・ポイント: Iceberg REST仕様エンドポイントを入力します。これにより、
/v1/oauth/tokens
として定義されたOAuth2を使用してアクセス・トークンが生成されます。このエンドポイントは、クライアント資格証明(クライアントIDおよびシークレット)をアクセス・トークンと交換することで認証が容易になるように設計されています。
ノート:
/v1/oauth/tokens
エンドポイントは、Icebergバージョン1.6.0で非推奨になり、バージョン2.0で削除されます。かわりに、外部のOAuth2プロバイダを使用することをお薦めします。詳細は、「OAuth Authentication」を参照してください。 - 付与タイプ: 「クライアント資格証明」を選択します。
- クライアントID: クライアントIDを指定します。
- クライアント・シークレット: クライアント・シークレットを指定します。
- スコープ: PRINCIPAL_ROLE:ALL。
「トークンの取得」をクリックします。
「Bearerトークン」フィールドに値が移入されます。
「資格証明の作成」をクリックします。
POLARIS_CREDがIcebergカタログ資格証明として表示されます。
ノート:
資格証明は、バックエンドのプロシージャ
DBMS_CLOUD.CREATE_CREDENTIAL
を使用して格納されます。前述の例では、プロシージャは次のようになります:BEGIN dbms_cloud.create_credential( credential_name => 'POLARIS_CRED', username => 'BEARER_TOKEN', password => '<BEARER_TOKEN_VALUE This is generated using token endpoint, client id, client secret>' ); END;
- アクセス・トークン・エンド・ポイント: Iceberg REST仕様エンドポイントを入力します。これにより、
この資格証明により、Oracle Autonomous DatabaseはIceberg表にアクセスできます。
- 資格証明名: 資格証明の名前を入力します。たとえば、POLARIS_CREDです。
- バケット資格証明: この資格証明は、クラウド・ストレージ・ボリュームを格納して、Iceberg表をParquet形式で格納します。Polarisカタログの場合、このフィールドは必須です。
「次」をクリックして、「Icebergカタログ」タブに進みます。
- カタログ名: Iceberg カタログをマウントするカタログの名前を入力します。
-
「Icebergカタログ」タブで、次のフィールド値を指定できます:
- Icebergカタログ・ネームスペース: このフィールドには、表の階層組織が表示されます。Icebergカタログ・エンドポイントは、ルート・ネームスペースで構成されます。カタログをマウントするネームスペースを選択します。
- ネームスペース・セパレータ・スタイル: 「Polarisスタイル」を選択します。これはデフォルト値です。カタログの構成方法に基づいて任意の値を選択します。
ノート:
デフォルト値のままにすることをお薦めします。 - バケット・リージョン: バケット・リージョンを入力します。たとえば、us-west-2です。
Icebergカタログ・エンドポイントは、S3などのクラウド・ストレージに格納されているIceberg表を管理するためのインタフェースとして機能します。バケット・リージョンは、S3バケットがホストされている地理的な場所を指します。
Polarisカタログの場合、これは必須フィールドです。
「追加」をクリックします。
新しいカタログがIcebergカタログに正常にマウントされると、「カタログの管理」ページでPolarisカタログを表示できます。このページからカタログを無効にして削除できます。
カタログ・エクスプローラでのマウントされたPolarisカタログの表示
- 「カタログ」ツールで、「カタログの選択」をクリックします。
- 「カタログとスキーマ」ウィザードで「POLARIS_CATALOG」フィルタをクリックして、POLARIS_CATALOGカタログを表示します。
- 「適用」をクリックして、「カタログ」ページに結果を表示します。
- 「カタログ」ページで、「カタログの管理」を選択します。「+追加」をクリックします。
- 「カタログの追加」ダイアログで、「Icebergカタログ」を選択します。
- 「次」をクリックします。
- 「カタログの追加」ダイアログの「カタログ・ソース」タブで、次のフィールド値を指定します:
- カタログ名: Iceberg カタログをマウントするカタログの名前を入力します。
たとえば、Unityです。
- Icebergカタログ・タイプ: ドロップダウン・フィールドから「Unity」を選択します。
- Icebergカタログ・エンドポイント:
Unityカタログの場合、通常はDatabricks REST APIを使用します。Unityカタログを介してIceberg表にアクセスするためのエンドポイントの形式は通常、https://<databricks-instance-url>/api/2.1/unity-catalog/icebergです。
ノート:
詳細は、https://docs.databricks.com/aws/en/external-access/icebergを参照してください。 - Icebergカタログ資格証明: ドロップダウン・リストの使用可能な資格証明のリストから資格証明を選択します。資格証明がない場合は作成できます。「資格証明の作成」を選択します。
「資格証明の作成」ダイアログで、次の値を指定します:
- 資格証明名: 資格証明の名前を入力します。たとえば、UNITY_CREDです。
- Bearerトークン: Bearerトークン値を貼り付けます。
「資格証明の作成」を選択します。
UNITY_CREDは、Icebergカタログ資格証明として表示されます。
「次」をクリックして、「Icebergカタログ」タブに進みます。
「Icebergカタログ」タブで、次のフィールド値を指定できます:
- Icebergカタログ・ネームスペース: アクセスする必要があるスキーマのいずれかを選択します。
- ネームスペース・セパレータ・スタイル: ネームスペース・セパレータ・スタイルは通常、ネームスペースをカタログ内で構造化および分離する方法を指します。デフォルトでは、「Databricksスタイル」が選択されています。
- バケット・リージョン: このフィールドは必須ではありません。
「追加」をクリックします。
新しいカタログがIcebergカタログに正常にマウントされると、「カタログの管理」ページでUnityカタログを表示できます。このページからカタログを無効にして削除できます。
- カタログ名: Iceberg カタログをマウントするカタログの名前を入力します。
カタログ・ツールでのマウントされたUnityカタログの表示
- 「カタログ」ツールで、「カタログの選択」をクリックします。
- 「カタログとスキーマ」ウィザードで「UNITY_CATALOG」フィルタをクリックして、UNITY_CATALOGカタログを表示します。
- 「適用」をクリックして、「カタログ」ページに結果を表示します。