カタログの管理
カタログ・ツールを使用して複数のカタログを有効にできるようになりました。
同じテナンシ内の他のAutonomous Databasesから追加のカタログをマウントできるため、複数のデータベース間でデータを検索できます。
カタログとして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に格納します
- データベース・リンクの作成または既存のデータベース・リンクの使用
- データベース・リンクをカタログとしてマウントします。
-
「カタログ」ページで、「カタログの管理」を選択します。+Addをクリックします。
- 「カタログの追加」ページで、カタログ・ソースとして「Autonomous Database」を選択します。
- ドロップダウンから「データベース名」を選択します。たとえば、TESTINGです。
- データベース名を選択した後、次のフィールドを表示できます。次のフィールド値を指定します。
- カタログ名: データベース・リンクをマウントするカタログの名前を入力します。たとえば、TESTINGです。
- データベース・リンク名: 既存のデータベースを使用してツールが作成するデータベース・リンクの名前を入力しますたとえば、TESTING_LINKです。
- データベース資格証明: データベース・リンクの作成に必要な資格証明をドロップダウンから選択します。たとえば、AWSGLUE_CREDです。
既存の資格証明がない場合は、「資格証明の作成」をクリックします。
- 「拡張オプションの表示」で、ドロップダウンから「Walletディレクトリ名」を選択します。ディレクトリにアクセスする権限が必要です。たとえば、WALLET_DIR-TESTINGです。
ノート
ウォレット・ファイルは、データベース・ユーザーIDおよびパスワードと組み合せて、ターゲットOracle Autonomous Database内のデータへのアクセスを可能にする。 - 「テスト」をクリックして、データベース・リンクの作成をテストします。
「作成」をクリックして、自律型データベースをカタログとして作成します。
作成に成功すると、「カタログの管理」の下にリストされた自律型データベースを表示できます。
カタログとしての既存のデータベース・リンクのマウント
カタログ・スキーマは、ローカル・データベース・ユーザーとしてインスタンス化できます。データベース・リンクがすでに設定されている場合は、そのデータベースのデータ・セットを検索および検出するために、リンクされたデータベースにカタログをマウントできます。
- データベース・リンク名
- データへのアクセスに必要なクラウド資格証明
データベースの1つにデータベース・リンクを追加し、そのメタデータを新しいカタログとしてマウントできます。
- 「カタログ」ページで、「カタログの管理」を選択します。
- +Addをクリックします。
- 「カタログの追加」ページで、「カタログ・ソース」から「データベース・リンク」を選択します。
- 「データベース・リンク」タブを選択します。
- ドロップダウンから「データベース・リンク名」を選択します。たとえば、AA-TESTING_LINKです。
- カタログの名前を「カタログ名」フィールドに入力します。たとえば、AA-TESTING_LINKです。
- 「作成」をクリックします。
新しくマウントされたカタログは、「カタログの管理」ダイアログ・ボックスに表示されます。
データベース・リンクを使用して接続されたデータベース上に新しいカタログを正常にマウントした後、カタログ・エクスプローラでカタログを選択し、その中のデータを検索できます。
カタログとしてライブ共有またはデルタ共有プロバイダのマウント
登録済データ共有からカタログをマウントできます。これにより、コンシューマは、他のデータベース内の他のプロバイダによって定義された表にアクセスできます。外部表は1回のみ定義する必要があります。
- 「カタログ」ページで、「カタログの管理」を選択します。+Addをクリックします。
- 「カタログの追加」ページで、カタログ・ソースから「データ共有」を選択します。
- 「次へ」をクリックして、「プロバイダ設定の共有」タブに進みます。
「共有ソース」で、使用可能なオプションのいずれかを選択します。
- ライブ共有プロバイダからの選択
- デルタ共有プロバイダJSON
この例では、ライブ共有プロバイダから共有ソースを選択します。
「プロバイダ詳細の共有」で、次の詳細を指定します:
- プロバイダ名: 共有プロバイダの名前を入力します。たとえば、TEST-PROVIDERです。
- 説明: 説明を入力します。このフィールドはオプションです。
- 「次」をクリックして、「共有の選択」タブに進みます。
- 「Share provider settings」タブで、カタログとしてマウントするシェアを「Available Shares」から「Selected Shares」にドラッグアンドドロップします。
- 「次」をクリックして、「カタログ詳細」タブに進みます。「カタログ詳細」タブで、次の詳細を指定します。
- カタログ名: 選択したカタログ名を入力します。
- カタログの説明: 説明を入力します。
- ライブ共有またはデルタ共有をカタログとしてマウントするには、「作成」を選択します。
共有上に新しいカタログを正常にマウントした後、カタログ・エクスプローラでカタログを選択し、その中のデータを検索できます。
カタログとしてのAmazon Glueのマウント
登録済みのAWS Glueデータ接続からカタログをマウントできます。
- 「カタログ」ページで、「カタログの管理」を選択します。
- +Addをクリックします。
- 「カタログの追加」ページで、「カタログ・ソース」から「Amazon Glue」を選択します。
- 「次へ」をクリックして、「Amazon Glue Catalog」タブに進みます。
- 「Amazon Glue Catalog」タブで、次の詳細を指定します:
- データ・カタログ接続の資格: ドロップダウンから資格証明を選択します。
- リージョン: ドロップダウンからリージョンを選択します。
- 「次」をクリックして、「カタログ詳細」タブに進みます。「カタログ詳細」タブで、次のフィールド値を指定します:
- カタログ名: カタログを参照するためにData Studioで使用する名前を入力します。
- カタログの説明: カタログの説明を入力します。
- 「作成」をクリックして、AWS Glue Data Catalogリージョンをカタログとしてマウントします。
新しいカタログをAWS Glue Data Catalogリージョンに正常にマウントしたら、カタログエクスプローラでカタログを選択して、その中のデータを検索できます。
カタログとしてのOCIデータ・カタログのマウント
登録済のOCIデータ・カタログからカタログをマウントできます。
- 「カタログ」ページで、「カタログの管理」を選択します。+Addをクリックします。
- 「カタログの追加」ページで、カタログ・ソースから「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とクライアント・シークレット: これらは、アプリケーションを識別するためにOAuthサーバーによって提供される資格証明です(この場合、UnityとPolarisカタログの統合)。これらの資格証明を使用して、Bearerトークンを生成します。
- ベアラー・トークン: Iceberg RESTエンドポイントへのリクエストを認証するには、OAuthをクライアント資格証明とともに使用します。カタログ・ツールは、トークン・エンドポイントをコールしてベアラー・トークンを受信します。
- ネームスペース: ネームスペースは、データベース内のスキーマと同等です。この場所は、カタログ内のIceberg表のリポジトリとして機能します。Icebergカタログは、表をネームスペースにグループ化し、他のネームスペース内にネストできます。Iceberg仕様は、任意のレベルのネスティングをサポートします。
たとえば、
SALES
表はSTORES
ネームスペース内で定義できます。このネームスペースは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
を作成し、それを使用して資格証明を作成するために必要なすべてのパラメータで構成されます。
詳細は、Apache Iceberg™ RESTカタログのカタログ統合の構成を参照してください。
- 「カタログ」ページで、「カタログの管理」を選択します。+Addをクリックします。
- 「カタログの追加」ダイアログで、「カタログ・ソース」タブから「アイスバーグ・カタログ」を選択します。
「次へ」をクリックします。
-
「カタログの追加」ダイアログの「カタログ・ソース」タブで、次のフィールド値を指定します。
- カタログ名: Icebergカタログをマウントするカタログの名前を入力します。
たとえば、Polarisです。
-
Icebergカタログ・タイプ: ドロップダウン・フィールドから「Polaris」を選択します。
- Icebergカタログ・エンドポイント: Polarisカタログ・アカウントURLを指定します。SnowflakeのPolarisカタログのエンドポイントは、通常、https://<account_locator>.snowflakecomputing.com/polaris/api/catalogの形式です。アカウント識別子の書式の詳細は、Snowflakeのドキュメントを参照してください。
- アイスバーグ・カタログ資格証明: ドロップダウン・リストの使用可能な資格証明のリストから資格証明を選択します。資格証明がない場合、資格証明を作成できます。「資格証明の作成」を選択します。「資格証明の作成」ダイアログで、次のフィールド値を指定します。
- 資格証明名: 資格証明の名前を入力します。たとえば、POLARIS_CREDです。
「新しいBearerトークンの取得」で、
- アクセス・トークン・エンド・ポイント: Iceberg REST仕様エンドポイントを入力します。これにより、
/v1/oauth/tokens
として定義されたOAuth2を使用してアクセス・トークンが生成されます。このエンドポイントは、クライアント資格証明(クライアントIDおよびシークレット)をアクセス・トークンと交換することで認証を容易にするように設計されています。
ノート
/v1/oauth/tokens
エンドポイントは、Icebergバージョン1.6.0では非推奨であり、バージョン2.0では削除されます。かわりに、外部のOAuth2プロバイダを使用することをお薦めします。詳細は、OAuth認証を参照してください。 - 付与タイプ: 「クライアント資格証明」を選択します。
- クライアントID: クライアントIDを指定します。
- クライアント・シークレット: クライアント・シークレットを指定します。
- スコープ: PRINCIPAL_ROLE:ALL。
「トークンの取得」をクリックします。
「ベアラー・トークン」フィールドに値が移入されます。
「資格証明の作成」をクリックします。
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カタログ・エンドポイントは、ルート・ネームスペースで構成されます。カタログをマウントするネームスペースを選択します。
- ネームスペース・セパレータ・スタイル: 「Polarisスタイル」を選択します。これはデフォルト値です。カタログの構成方法に基づいて任意の値を選択します。
ノート
デフォルト値を保持することをお薦めします。 - バケット・リージョン: バケット・リージョンを入力します。たとえば、us-west-2です。
Icebergカタログ・エンドポイントは、S3などのクラウド・ストレージに格納されているIceberg表を管理するためのインタフェースとして機能します。バケット・リージョンは、S3バケットがホストされている地理的な場所を参照します。
これはPolarisカタログの必須フィールドです。
「追加」をクリックします。
新しいカタログをIcebergカタログに正常にマウントした後、「カタログの管理」ページでPolarisカタログを表示できます。このページからカタログを無効にして削除できます。
カタログ・エクスプローラでマウントされたPolarisカタログを表示します。
- 「カタログ」ツールで、「カタログの選択...」をクリックします。
- 「カタログおよびスキーマ」ウィザードで「POLARIS _CATALOG」フィルタをクリックして、POLARIS_CATALOGカタログを表示します。
- 「適用」をクリックして、カタログ・ページに結果を表示します。
- 「カタログ」ページで、「カタログの管理」を選択します。+Addをクリックします。
- 「カタログの追加」ダイアログで、「アイスバーグ・カタログ」を選択します。
- 「次へ」をクリックします。
- 「カタログの追加」ダイアログの「カタログ・ソース」タブで、次のフィールド値を指定します。
- カタログ名: Icebergカタログをマウントするカタログの名前を入力します。
たとえば、Unityです。
- Icebergカタログ・タイプ: ドロップダウン・フィールドから「Unity」を選択します。
- Icebergカタログ・エンドポイント:
Unityカタログの場合、通常、Databricks REST APIを使用します。Unity Catalogを介してIceberg表にアクセスする際のエンドポイントは、通常、https://<databricks-instance-url>/api/2.1/unity-catalog/icebergの形式です。
- アイスバーグ・カタログ資格証明: ドロップダウン・リストの使用可能な資格証明のリストから資格証明を選択します。資格証明がない場合、資格証明を作成できます。「資格証明の作成」を選択します。
「資格証明の作成」ダイアログで、次の値を指定します。
- 資格証明の名前: 資格証明の名前を入力します。たとえば、UNITY_CREDです。
- ベアラー・トークン: ベアラー・トークン値を貼り付けます。
「資格証明の作成」を選択します。
UNITY_CREDは、アイスバーグ・カタログ資格証明として表示されます。
「次へ」をクリックして、「アイスバーグ・カタログ」タブに進みます。
「アイスバーグ・カタログ」タブで、次のフィールド値を指定できます:
- アイスバーグ・カタログ・ネームスペース: アクセスが必要なスキーマのいずれかを選択します。
- ネームスペース・セパレータ・スタイル: ネームスペース・セパレータ・スタイルは、通常、ネームスペースをカタログ内で構造化および分離する方法を指します。デフォルトでは、「データブリック・スタイル」が選択されています。
- 「バケット」リージョン: このフィールドは必須ではありません。
「追加」をクリックします。
新しいカタログをIcebergカタログに正常にマウントした後、「カタログの管理」ページでUnityカタログを表示できます。このページからカタログを無効にして削除できます。
- カタログ名: Icebergカタログをマウントするカタログの名前を入力します。
マウントされたUnityカタログをカタログ・ツールで表示します。
- 「カタログ」ツールで、「カタログの選択...」をクリックします。
- 「カタログおよびスキーマ」ウィザードで「UNITY _CATALOG」フィルタをクリックして、UNITY_CATALOGカタログを表示します。
- 「適用」をクリックして、カタログ・ページに結果を表示します。
- カタログ・ツールからのデルタ共有のインライン・データ・ロード
カタログ・ツールからデルタ共有をロードせずに、カタログ・ツールからデルタ共有をロードできます。 - リモート・カタログおよびデータベースの問合せ
カタログをマウントすることで、外部データにアクセスして問い合せることができます。この機能では、データベース・リンクを使用したデータの問合せ方法に似た単純なSQL構文を使用します。
親トピック: カタログ・ツール