カタログの管理
カタログ・ツールを使用して、複数のカタログを有効にできるようになりました。
同じテナンシ内の他の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エンドポイントは、Bearerトークンを発行するためにIceberg RESTカタログによって提供されます。
- クライアントID &クライアント・シークレット: これらは、アプリケーションを識別するためにOAuthサーバーによって提供される資格証明です(この場合、UnityとPolarisカタログの統合)。 これらの資格証明を使用して、Bearerトークンを生成します。
- Bearerトークン: Iceberg RESTエンドポイントへのリクエストを認証するには、クライアント資格証明とともにOAuthを使用します。 カタログ・ツールは、トークン・エンドポイントをコールして「Bearerトークン」を受信します。
- ネームスペース: ネームスペースは、データベース内のスキーマと同等です。 このロケーションは、カタログ内のIceberg表のリポジトリとして機能します。 Icebergカタログは、表をネームスペースにグループ化し、他のネームスペース内にネストできます。 Iceberg仕様は、任意のレベルのネスティングをサポートします。
たとえば、
SALES
表はSTORES
ネームスペース内で定義できます。このネームスペースはRETAIL
ネームスペースで定義され、それ自体はCORPORATE
ネームスペース内で定義されます。 このような表のアイスバーグのロケーションは、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カタログのカタログ統合の構成」を参照してください。
- 「カタログ」ページで、「カタログの管理」を選択します。 「+追加」をクリックします。
- 「カタログの追加」ダイアログで、「カタログ・ソース」タブから「Icebergカタログ」を選択します。
「次」をクリックします。
-
「カタログの追加」ダイアログのカタログ・ソース・タブで、次のフィールド値を指定します:
- カタログ名: Icebergカタログをマウントするカタログの名前を入力します。
たとえば、「ポラリス」です。
-
カタログ・タイプ: ドロップダウン・フィールドからポラリスを選択します。
- 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認証」を参照してください。 - 付与タイプ: クライアント資格証明を選択します。
- クライアント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カタログ・エンドポイント」は、ルート・ネームスペースで構成されます。 カタログをマウントするネームスペースを選択します。
- ネームスペース・セパレータ・スタイル: ポ・ラ リス・スタイルを選択します。 これがデフォルト値です。 カタログの構成方法に基づいて任意の値を選択します。
ノート:
デフォルト値は保持することをお薦めします。 - バケット・リージョン: バケット・リージョンを入力します。 たとえば、us-west-2などです。
Icebergカタログ・エンドポイントは、S3などのクラウド・ストレージに格納されているIceberg表を管理するためのインタフェースとして機能します。 バケット・リージョンは、S3バケットがホストされている地理的なロケーションを参照します。
これはPolarisカタログの必須フィールドです。
「追加」をクリックします。
新しいカタログをIcebergカタログに正常にマウントした後、「カタログの管理」ページでPolarisカタログを表示できます。 このページからカタログを無効にして削除できます。
カタログ・エクスプローラでマウントされたPolarisカタログを表示
- 「カタログ」ツールで、「カタログの選択...」をクリックします。
- 「カタログとスキーマ」ウィザードのPOLARIS _CATALOGフィルタをクリックして、POLARIS_CATALOGカタログを表示します。
- 「適用」をクリックして、カタログ・ページに結果を表示します。
- 「カタログ」ページで、「カタログの管理」を選択します。 「+追加」をクリックします。
- 「カタログ」の追加ダイアログで、「Icebergカタログ」を選択します。
- 「次」をクリックします。
- 「カタログの追加」ダイアログのカタログ・ソース・タブで、次のフィールド値を指定します:
- カタログ名: Icebergカタログをマウントするカタログの名前を入力します。
たとえば、Unityです。
- カタログ・タイプ: ドロップダウン・フィールドから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カタログを表示します。
- 「適用」をクリックして、カタログ・ページに結果を表示します。
- カタログ・ツールからのデルタ共有のインライン・データ・ロード
カタログ・ツールからデルタ共有をロードすると、ロード用のカタログ・ツールを終了せずにロードできます。 - リモート・カタログおよびデータベースの問合せ
カタログをマウントすると、外部データにアクセスして問い合せることができます。 この機能では、データベース・リンクを使用したデータの問合せ方法に似た単純なSQL構文を使用します。
親トピック: カタログ・ツール