すべてのプロダクト
Search
ドキュメントセンター

Hologres:HoloWebコンソールでOSSにマッピングされた外部テーブルを作成する

最終更新日:Jan 11, 2025

Hologresでは、外部サーバーを構成して、Object Storage Service(OSS)バケットなどの外部データソースの接続情報を指定できます。その後、外部テーブルを作成して、システム全体でデータにアクセスし、クエリを実行できます。このトピックでは、HoloWeb視覚化ツールを使用して外部サーバーを作成、外部テーブルを管理、およびデータをプレビューする方法について説明します。

前提条件

  • OSSバケットが作成され、データがOSSバケットにインポートされています。詳細については、「OSS入門」をご参照ください。

  • Data Lake Formation(DLF)カタログが作成されています。詳細については、「データカタログ」をご参照ください。

  • 使用する外部データラッパー(FDW)に対するUSAGE権限がアカウントに付与されています。詳細については、「権限の許可」をご参照ください。

  • 外部サーバーのDLFカタログにデータベースとテーブルがすでに存在しています。データベースとテーブルの作成方法の詳細については、「データベースのテーブルと関数」をご参照ください。

制限事項

外部データソースとマッピングされたHologres外部テーブルは、同じリージョンに存在する必要があります。

外部サーバーを作成する

Hologresでは、外部サーバーを使用して、FDWがシステム間のデータアクセスとクエリのためにOSSバケットなどの外部データソースにアクセスするために使用する接続情報を定義します。ユーザーマッピングを作成して、ユーザー固有の接続情報を定義することもできます。詳細については、「外部サーバーを作成する」をご参照ください。

  1. Hologresコンソールにログオンします。

  2. 上部のナビゲーションバーで、ドロップダウンリストからリージョンを選択します。

  3. 左側のナビゲーションペインで、[インスタンス]をクリックします。表示されるページで、目的のインスタンスを見つけ、[アクション]列の[データレイクアクセラレーション]をクリックして、データレイクアクセラレーションを有効にします。

  4. Hologresコンソールの左側のナビゲーションペインで、[holowebに移動]をクリックして、HoloWebコンソールに移動します。

  5. HoloWebコンソールで、目的のデータベースに接続します。上部のナビゲーションバーで、[メタデータ管理]をクリックします。

  6. メタデータ管理ページで、[OSSデータレイクアクセラレーション] > [外部サーバーの作成]を選択します。

    image

    次の表に、パラメーターについて説明します。

    パラメーター

    説明

    サーバー名

    作成する外部サーバーの名前。

    重要

    外部サーバーの名前は、データベース内で一意である必要があります。

    DLFエンドポイント

    DLFのエンドポイント。デフォルトでは、現在のリージョンのDLFのエンドポイントが使用されます。DLFでサポートされているリージョンとエンドポイントの詳細については、「サポートされているリージョンとエンドポイント」をご参照ください。

    DLFカタログ

    ドロップダウンリストから作成済みのDLFカタログを選択します。DLFカタログが作成されていない場合は、[DLFコンソールで作成]をクリックします。

    OSSエンドポイント

    OSSエンドポイント。デフォルトでは、現在のリージョンのネイティブOSSのエンドポイントが使用されます。ドロップダウンリストからOSS-HDFSエンドポイントを選択できます。OSSバケットが作成されていない場合は、[OSSコンソールで作成]をクリックします。

    説明
    • OSSエンドポイントは、「リージョンとエンドポイント」から取得できます。

    • OSS-HDFSエンドポイントは、OSS-HDFSが有効になっているバケットの[概要]ページで取得できます。

  7. [送信]をクリックします。外部サーバーが作成されます。

外部テーブルを作成する

  1. Hologresコンソールにログオンします。

  2. 上部のナビゲーションバーで、ドロップダウンリストからリージョンを選択します。

  3. Hologresコンソールの左側のナビゲーションペインで、[holowebに移動]をクリックして、HoloWebコンソールに移動します。

  4. 上部のナビゲーションバーで、[メタデータ管理]をクリックします。

  5. メタデータ管理ページで、[OSSデータレイクアクセラレーション] > [外部テーブルの作成]を選択します。

    image

    [プロジェクト全体][選択したテーブル]、または [単一テーブル] を高速化方法として指定できます。次の表に、各高速化方法に関連するパラメーターを示します。

    プロジェクト全体

    カテゴリ

    パラメーター

    説明

    アクセラレーション方法

    プロジェクト全体

    DLFで指定されたデータベース内のすべてのソーステーブルに対してHologres外部テーブルを作成する方法。

    DLFデータソース

    サーバー名

    作成した外部サーバーの名前。このパラメーターは、外部データソースの接続情報を指定するために使用されます。

    DB名

    外部サーバーで指定されたDLFカタログ内のデータベースの名前。

    デスティネーションの場所

    Holoスキーマ

    デフォルト値はpublicです。権限を持つ別のスキーマをドロップダウンリストから選択できます。

    詳細設定

    テーブル名競合の処理ルール

    作成する外部テーブルの名前がデータベース内の既存の外部テーブルと同じ名前の場合の処理ルール。有効な値:

    • 競合を無視してテーブルの作成を続行:システムはこのテーブルの作成をスキップし、他のテーブルの作成を続行します。

    • テーブル名を変更:システムは既存の外部テーブルのデータを更新します。

    • エラーを報告してテーブルを作成しない:システムはエラーメッセージを報告し、テーブルの作成を停止します。

    サポートされていないデータ型の処理ルール

    ソーステーブルの特定のデータ型がHologresでサポートされていない場合の処理ルール。有効な値:

    • エラーを報告してインポートを停止:システムはエラーメッセージを報告し、データのインポートは失敗します。

    • サポートされていないフィールドのテーブルを無視してスキップ:システムは、サポートされていないデータ型のデータを含むテーブルをスキップし、他のテーブルからデータをインポートします。

    選択したテーブル

    カテゴリ

    パラメーター

    説明

    アクセラレーション方法

    選択したテーブル

    指定されたソーステーブルに対してHologres外部テーブルを作成する方法。検索ボックスにテーブル名を入力してあいまい一致検索を実行することで、テーブルを検索できます。

    DLFデータソース

    サーバー名

    作成した外部サーバーの名前。このパラメーターは、外部データソースの接続情報を指定するために使用されます。

    DB名

    外部サーバーで指定されたDLFカタログ内のデータベースの名前。

    デスティネーションの場所

    Holoスキーマ

    デフォルト値はpublicです。権限を持つ別のスキーマをドロップダウンリストから選択できます。

    詳細設定

    テーブル名競合の処理ルール

    作成する外部テーブルの名前がデータベース内の既存の外部テーブルと同じ名前の場合の処理ルール。有効な値:

    • 競合を無視してテーブルの作成を続行:システムはこのテーブルの作成をスキップし、他のテーブルの作成を続行します。

    • テーブル名を変更:システムは既存の外部テーブルのデータを更新します。

    • エラーを報告してテーブルを作成しない:システムはエラーメッセージを報告し、テーブルの作成を停止します。

    サポートされていないデータ型の処理ルール

    ソーステーブルの特定のデータ型がHologresでサポートされていない場合の処理ルール。有効な値:

    • エラーを報告してインポートを停止:システムはエラーメッセージを報告し、データのインポートは失敗します。

    • サポートされていないフィールドのテーブルを無視してスキップ:システムは、サポートされていないデータ型のデータを含むテーブルをスキップし、他のテーブルからデータをインポートします。

    検索

    あいまい一致を実行してテーブル名でテーブルを検索し、テーブルを選択します。

    単一テーブル

    カテゴリ

    パラメーター

    説明

    アクセラレーション方法

    単一テーブル

    指定されたソーステーブルに対してHologres外部テーブルを作成する方法。

    DLFデータソース

    サーバー名

    作成した外部サーバーの名前。このパラメーターは、外部データソースの接続情報を指定するために使用されます。

    DB名

    外部サーバーで指定されたDLFカタログ内のデータベースの名前。

    テーブル名

    外部テーブルを作成するDLFデータベース内のテーブルの名前。

    デスティネーション Hologresテーブル

    スキーマ

    デフォルト値はpublicです。権限を持つ別のスキーマをドロップダウンリストから選択できます。

    テーブル名

    作成するHologres外部テーブルの名前。

    説明

    DLFデータソースセクションでテーブル名パラメーターを指定すると、同じ値がこのパラメーターに自動的に入力されます。Hologres外部テーブルの名前を変更できます。

    デスティネーションテーブルの説明

    作成するHologres外部テーブルの説明。カスタムの説明を入力できます。

  6. [送信]をクリックします。左側のインスタンスリストを更新して、選択したスキーマに作成された外部テーブルを表示できます。

  7. オプション。作成した外部テーブルの名前をダブルクリックし、右上隅にある[テーブルのクエリ]をクリックします。SQLクエリウィンドウで、標準のPostgreSQLステートメントを実行してデータを開発します。

    説明

    DLFデータソースセクションでテーブル名パラメーターを指定すると、外部ソーステーブルのすべてのフィールドが表示されます。外部ソーステーブルの外部テーブルを作成すると、デフォルトですべてのフィールドが外部テーブルに含まれます。指定したフィールドを外部テーブルに含める場合は、アクセラレーション方法を単一テーブルに設定するか、SQLステートメントを実行して外部テーブルを作成します。SQLステートメントを実行して外部テーブルを作成する方法の詳細については、「CREATE FOREIGN TABLE」をご参照ください。

SQLステートメントを使用した外部サーバーのその他の操作

外部サーバーを作成した後、SQLステートメントを実行して、外部サーバーを表示、変更、または削除できます。

  • 作成された外部サーバーを表示します。

    SELECT * FROM pg_foreign_server;
  • 外部サーバーのDLFカタログを変更します。

    ALTER SERVER <foreignserver_name> OPTIONS (ADD|SET|DROP dlf_catalog ['<catalog_name>']) ;

    次の表に、パラメーターについて説明します。

    パラメーター

    説明

    foreignserver_name

    変更する外部サーバーの名前。

    ADD

    外部サーバーにDLFカタログを追加するために実行される操作。

    SET

    外部サーバーのDLFカタログを変更するために実行される操作。

    DROP

    外部サーバーのDLFカタログを削除するために実行される操作。例:ALTER SERVER foreign_server_test OPTIONS (DROP dlf_catalog) ;

  • 外部サーバーを削除します。

    DROP SERVER <foreignserver_name> CASCADE;

    次の表に、パラメーターについて説明します。

    パラメーター

    説明

    foreignserver_name

    削除する外部サーバーの名前。

    CASCADE

    外部サーバーを削除するときに、外部サーバーに依存するオブジェクトを削除するために実行されるカスケード操作。たとえば、外部サーバーに依存する外部テーブルが削除されます。

外部テーブルのその他の操作

外部テーブルを編集する

  1. HoloWebコンソールの左側のナビゲーションペインで、[接続されたインスタンス]をクリックします。

  2. 目的のインスタンスの名前、目的のデータベースの名前、[外部テーブル]の順にクリックします。作成されたすべての外部テーブルが表示されます。

  3. 目的の外部テーブルの名前をダブルクリックします。表示されるページで、[テーブルの編集]をクリックします。

  4. ビジネス要件に基づいて、外部テーブルの[フィールド]または[パーティション]を変更します。

  5. [送信]をクリックします。

外部テーブルの名前を変更する

  1. 外部テーブルを編集する」セクションの手順1~2に従って、HoloWebコンソールの左側のナビゲーションペインで、[接続されたインスタンス]リストから目的の外部テーブルを見つけます。

  2. 外部テーブルの名前を右クリックし、[名前の変更]を選択します。

  3. [テーブル名の変更]ダイアログボックスで、新しい名前を入力します。

  4. [OK]をクリックします。

外部テーブルを削除する

  1. 外部テーブルを編集する」セクションの手順1~2に従って、HoloWebコンソールの左側のナビゲーションペインで、[接続されたインスタンス]リストから目的の外部テーブルを見つけます。

  2. 外部テーブルの名前を右クリックし、[テーブルの削除]を選択します。

  3. [テーブルの削除]メッセージで、[OK]をクリックします。

データをプレビューする

  1. 外部テーブルを編集する」セクションの手順1~2に従って、HoloWebコンソールの左側のナビゲーションペインで、[接続されたインスタンス]リストから目的の外部テーブルを見つけます。

  2. 外部テーブルの名前をダブルクリックします。表示されるページで、[データプレビュー]タブをクリックします。

FAQ

  • 問題の説明:RAMユーザーを使用してHoloWebの外部テーブルにアクセスすると、次のエラーメッセージが表示されます。エラーメッセージは、RAMユーザーにDLF API操作を呼び出す権限がないことを示しています。エラーメッセージには、次の情報が含まれています。

    You are not authorized to perform the operation. Please use RAM to authorize the operation.Action: [dlf:xxx].
  • 解決策:RAMユーザーにDLF API操作に対するAliyunDLF関連の権限を付与します

関連情報