Hologres に格納されているデータに MaxCompute からアクセスする場合、データカタログが提供する Hologres メタデータマッピング機能を使用して、MaxCompute に外部テーブルを作成し、Hologres のデータを読み取ることができます。 これにより、MaxCompute にデータをインポートする必要がなくなり、コンピューティングリソースとストレージリソースを節約し、柔軟かつ効率的にデータ処理を実行できます。
背景情報
MaxCompute では、外部テーブル機能を使用して、Hologres などの外部システムに格納されているデータのクエリと分析を実行できます。 このようにして、PostgreSQL JDBC ドライバーと RAM ロールベースの権限付与により、MaxCompute にデータをインポートすることなく、外部データに対して直接操作を実行できます。
DataWorks では、Hologres メタデータマッピング機能を使用して、前述の操作をすばやく実行できます。 この機能は、基盤となるレイヤーの MaxCompute の次の機能に依存しています。
スキーマレベルのメタデータマッピング: このタイプのマッピングは、MaxCompute 外部スキーマに基づいて実装されます。 MaxCompute 外部スキーマの詳細については、「外部スキーマ」をご参照ください。
テーブルレベルのメタデータマッピング: このタイプのマッピングは、MaxCompute の外部テーブル機能に基づいて実装されます。 外部テーブル機能の詳細については、「Hologres 外部テーブル」をご参照ください。
前提条件
MaxCompute プロジェクトと Hologres インスタンスが作成されていること。 詳細については、「MaxCompute プロジェクトを作成する」および「Hologres インスタンスを購入する」をご参照ください。
Hologres インスタンスが、DataWorks コンソールの Data Studio ページの [データカタログ] ペインにデータカタログとして追加されていること。 詳細については、「データカタログ」をご参照ください。
Hologres タイプの外部サーバーが作成されていること。 スキーマレベルのメタデータマッピングには、Hologres タイプの外部サーバーが必要です。 詳細については、「手順 1: Hologres タイプの外部サーバーを作成する」をご参照ください。
重要Hologres タイプの外部サーバーを作成する場合は、次の点に注意してください。
ホスト パラメーターには、クラシックネットワークタイプのホスト名を設定する必要があります。Virtual Private Cloud (VPC) タイプのホスト名はサポートされていません。
[認証方式] パラメーターを [RAMRole] に設定する必要があります。 ExecuteWithUserAuth はサポートされていません。
アクセスコントロール
DataWorks は、MaxCompute プロジェクトのソースに基づいてアクセス ID を決定し、アクセス ID に基づいて権限を確認します。
MaxCompute プロジェクトのソースに基づくアクセス ID の決定 | アクセス ID の権限検証 | Hologres 側での権限検証 |
|
|
|
制限事項
Hologres の [内部] データベースのデータのみを MaxCompute にマップできます。
MaxCompute で Hologres 外部テーブルを使用する場合の制限事項については、「Hologres 外部テーブル」をご参照ください。
MaxCompute でサポートされているデータ型と Hologres でサポートされているデータ型は異なり、一部のデータ型はマッピングをサポートしていません。 これらのデータ型のマッピングは自動的に無視されます。 Hologres メタデータを MaxCompute にマップする前に、「MaxCompute と Hologres 間のデータ型マッピング」をよく読んで、ビジネス要件が期待どおりに満たされるかどうかを確認する必要があります。
機能のエントリポイント
DataWorks コンソールの [ワークスペース] ページに移動します。 上部のナビゲーションバーで、目的のリージョンを選択します。 目的のワークスペースを見つけ、[操作] 列で を選択します。
Data Studio ページの左側のナビゲーションペインで、
アイコンをクリックして [データカタログ] ペインに移動します。
[データカタログ] ペインの [Hologres] ディレクトリで、メタデータを MaxCompute にマップする必要がある Hologres スキーマまたはテーブルを見つけ、スキーマまたはテーブル名を右クリックして、[MaxCompute へのメタデータマッピング] を選択します。
スキーマレベルのメタデータマッピング
Hologres スキーマレベルのメタデータマッピング機能は、Hologres スキーマのメタデータを MaxCompute 外部スキーマにマップします。 マッピングを実行する前に、「データレイクハウス ソリューション 2.0 を使用する」を参照して、MaxCompute 外部サーバーと外部スキーマについて理解することをお勧めします。
Hologres メタデータは、スキーマ機能が有効になっている MaxCompute [内部] プロジェクトのみにマップできます。
MaxCompute 側で Hologres タイプの外部サーバーを準備する
Hologres スキーマレベルのメタデータマッピングは、MaxCompute プロジェクトに外部スキーマを作成することによって実装されます。 外部スキーマは、Hologres タイプの外部サーバーから Hologres メタデータを同期します。 したがって、最初に DataWorks に目的の Hologres データベースを指す MaxCompute 外部データソースを追加し、MaxCompute 外部データソースを指定された MaxCompute 内部プロジェクトにマウントして、MaxCompute 内部プロジェクトの外部スキーマと指定された Hologres データベース間のマッピングを確立する必要があります。
Hologres タイプの外部サーバーの作成方法については、「Hologres フェデレーションを作成して使用する」をご参照ください。
Hologres タイプの外部サーバーを作成する場合は、[ホスト] パラメーターをクラシックネットワークタイプのホスト名に設定する必要があります。 VPC タイプのホスト名はサポートされていません。 また、[DBNAME] パラメーターをメタデータマッピングに使用する Hologres データベースの名前に設定する必要があります。
DataWorks 側で Hologres スキーマレベルのメタデータマッピングを構成する
MaxCompute へのメタデータマッピング[データカタログ] ペインの [Hologres] ディレクトリで、メタデータを MaxCompute にマップする必要があるスキーマを見つけ、スキーマ名を右クリックして、 を選択します。
[MaxCompute へのメタデータマッピング] タブで、次のパラメーターを構成します。
Hologres (ソース)
パラメーター
説明
[ソースオブジェクトタイプ]
メタデータを MaxCompute にマップする必要があるオブジェクトのタイプ。 このパラメーターの値は
Hologres Schema
に固定されています。[ソースオブジェクト名]
メタデータを MaxCompute にマップする必要がある Hologres スキーマの名前。 このパラメーターの値は、現在の Hologres スキーマの名前に固定されています。
このパラメーターの値は、
<Hologres データベース>.<Hologres スキーマ>
形式です。説明事前に MaxCompute に Hologres タイプの外部サーバーを作成する必要があります。 外部サーバーを作成する場合は、[DBNAME] パラメーターを [ソースオブジェクト名] パラメーターの値で指定された Hologres データベースの名前に設定する必要があります。 詳細については、「MaxCompute 側で Hologres タイプの外部サーバーを準備する」をご参照ください。
MaxCompute (宛先)
パラメーター
説明
[インスタンス検索方法]
MaxCompute プロジェクトを検索する方法。 有効な値:
[DataWorks データソースから]: 現在のワークスペースに関連付けられている MaxCompute データソースを選択して、目的の MaxCompute プロジェクトを選択します。 この値を選択した場合は、[データソース]外部スキーマ パラメーターと パラメーターも構成して、MaxCompute プロジェクトに外部スキーマを作成する必要があります。
説明O&M ロールまたはワークスペース管理者ロールが割り当てられているユーザーのみが、本番環境で追加されたデータソースを選択できます。
[自分が承認されている]: 現在の Alibaba Cloud アカウント内でアクセス権限を持っている対象の MaxCompute プロジェクトを選択します。この値を選択した場合、[外部] スキーマ パラメーターも構成する必要があります。
[データソース]
[インスタンス検索方法] パラメーターを [DataWorks データソースから] に設定した場合は、目的の MaxCompute データソースを手動で選択する必要があります。
[プロジェクト名]
[インスタンス検索方法] パラメーターを [権限があります] に設定した場合は、目的の MaxCompute プロジェクトを手動で選択する必要があります。
[外部スキーマ名]
Hologres スキーマのメタデータをマップする MaxCompute 外部スキーマの名前。
[外部データソース]
Hologres データベースに接続されている外部サーバーを選択します。 Hologres タイプの外部サーバーの作成方法については、「手順 1: Hologres タイプの外部サーバーを作成する」をご参照ください。
重要Hologres タイプの外部サーバーを作成する場合は、次の点に注意してください。
このエンドポイントにアクセスするには、/wp-json/my-plugin/v1/hello にアクセスします。WordPress アプリケーションがインストールされているルート URL の後に、このパスを追加します。
[認証方式] パラメーターを [RAMRole] に設定する必要があります。 ExecuteWithUserAuth はサポートされていません。
[認証]
これらのパラメーターの値は、選択した外部サーバーに基づいてシステムによって自動的に生成されます。
[ホスト:ポート]
[データベース]
構成タブの上部ツールバーで、[実行] をクリックしてマッピングを完了します。
テーブルレベルのメタデータマッピング
Hologres テーブルレベルのメタデータマッピング機能は、外部テーブルを使用して、指定された Hologres テーブルを指定された MaxCompute テーブルにマップします。 ビジネス要件に基づいて、外部テーブルのパスと名前を指定できます。
[データカタログ] ペインの [Hologres] ディレクトリで、メタデータを MaxCompute にマップする必要がある Hologres テーブルを見つけ、テーブル名を右クリックして、[MaxCompute へのメタデータマッピング] を選択します。
[MaxCompute へのメタデータマッピング] タブで、次のパラメーターを構成します。
Hologres (ソース)
パラメーター
説明
[ソースオブジェクトタイプ]
メタデータを MaxCompute にマップする必要があるオブジェクトのタイプ。 このパラメーターの値は
Hologres Table
に固定されています。[ソースオブジェクト名]
メタデータを MaxCompute にマップする必要がある Hologres テーブルの名前。 このパラメーターの値は、現在の Hologres テーブルの名前に固定されています。
MaxCompute (宛先)
パラメーター
説明
[インスタンス検索方法][検索方法]
MaxCompute プロジェクトを検索する方法。 有効な値:
[DataWorks データソースから]: 現在のワークスペースに関連付けられている MaxCompute データソースを選択して、目的の MaxCompute プロジェクトを選択します。 この値を選択した場合は、[データソース] パラメーターと [外部テーブル] パラメーターも構成して、MaxCompute プロジェクトと MaxCompute 外部テーブルを指定する必要があります。 また、データソースに指定されたアクセス ID に、ソース Hologres テーブルと MaxCompute プロジェクトに対する読み取りおよび書き込み権限があることを確認する必要があります。
説明O&M ロールまたはワークスペース管理者ロールが割り当てられているユーザーのみが、本番環境で追加されたデータソースを選択できます。
[承認済み]外部テーブル: 現在の Alibaba Cloud アカウント内でアクセス権限を持つ MaxCompute プロジェクトを選択します。この値を選択した場合、 パラメーターを設定して対象の MaxCompute 外部テーブルを指定する必要もあります。さらに、ソース Hologres テーブルと MaxCompute プロジェクトに対する読み取りおよび書き込み権限を持っていることを確認する必要があります。
データソース
インスタンス検索方法 パラメーターを [DataWorks データソースから] に設定した場合、目的の MaxCompute データソースを手動で選択する必要があります。
プロジェクト名
インスタンス検索方法[インスタンス検索方法] パラメーターを に設定した場合、目的の MaxCompute プロジェクトを手動で選択する必要があります。
スキーマ
Hologres スキーマのメタデータをマップする MaxCompute 外部スキーマの名前。
外部テーブル
MaxCompute 外部スキーマに作成される外部テーブルの名前です。Hologres テーブルのメタデータは、MaxCompute 外部テーブルにマッピングされます。
説明MaxCompute 外部スキーマへの外部テーブルの作成は、1 回限りの操作です。外部テーブルの作成後、外部テーブルにマップされたメタデータは自動的にリフレッシュされません。メタデータをリフレッシュするには、外部テーブルを削除し、手動でテーブルレベルのメタデータマッピングを作成する必要があります。
MaxCompute 外部テーブルへのアクセス権限
Hologres テーブルのメタデータが MaxCompute 外部テーブルにマッピングされた後、MaxCompute 外部テーブルに使用するアクセス許可認証方式。有効な値:
二重署名モードは、MaxCompute と Hologres に基づいて開発された認証プロトコルです。MaxCompute のアカウントログイン情報に署名が追加され、認証データが Hologres に送信されると、Hologres は MaxCompute の基盤レイヤーと互換性のあるプロトコルに基づいてアカウント名を使用して認証を実行します。 MaxCompute に使用されるアカウント名が Hologres に使用されるアカウント名と同じである場合、認証は成功です。このようにして、追加の認証情報を設定することなく、同じアカウント名を使用して外部テーブルに直接アクセスできます。
[RamRole]: 認証は STS モードで実行されます。
ロール ARN
MaxCompute 外部テーブルへのアクセス権限 RamRole。このパラメーターは、 パラメーターを に設定した場合にのみ必須です。
RAM ロールを作成し、このフィールドに RAM ロールの ARN 情報を入力する必要があります。 詳細については、「STS モードで Hologres 外部テーブルを作成する」をご参照ください。
場所
Hologres テーブルと MaxCompute テーブル間のマッピングのアドレスです。このパラメーターの値はシステムによって自動的に生成されるため、値を変更する必要はありません。
ライフサイクル
MaxCompute 外部テーブルのライフサイクル。
フィールド
マッピングに使用する MaxCompute テーブル フィールド と、フィールドのデータ型。ビジネス要件に基づいてフィールドとフィールド データ型を設定できます。
説明MaxCompute でサポートされているデータ型と Hologres でサポートされているデータ型は異なります。一部のデータ型はマッピングをサポートしていません。詳細については、「MaxCompute と Hologres 間のデータ型マッピング」をご参照ください。
構成タブの上部にあるツールバーで、[実行] をクリックしてマッピングを完了します。
次の手順
ペインに表示されている MaxCompute設定: ディレクトリで、Hologres スキーマまたは Hologres テーブルのメタデータがマッピングされている外部スキーマまたは外部テーブルを表示します。
ページで MaxCompute SQLData Studio ノードを作成し、MaxCompute SQL ノードを使用して Hologres 外部テーブルのデータをクエリします。