Hologres 外部テーブルを作成する
Hologres 外部テーブルは MaxCompute テーブルに直接マッピングされるため、データをコピーすることなく、Hologres のネイティブテーブルにデータが格納されているかのように Hologres から MaxCompute のデータをクエリできます。このトピックでは、DataWorks コンソールで Hologres 外部テーブルを作成する方法について説明します。
外部テーブルのクエリパフォーマンスは、内部テーブルよりも低くなります。クエリ速度を優先する場合は、代わりに MaxCompute データを Hologres 内部テーブルにインポートしてください。一括インポートについては、「数クリックで MaxCompute データを同期するノードの作成」をご参照ください。
前提条件
作業を開始する前に、以下をご確認ください。
-
ワークスペースに追加され、DataStudio に関連付けられた Hologres データソース。詳細については、「Hologres データソースの追加」および「データソースまたはクラスターを DataStudio に関連付けます」をご参照ください。
-
ワークスペースの[ワークスペースマネージャー]または[開発]ロール。詳細については、「ワークスペースレベルのサービスに対する権限を管理する」をご参照ください。
制限事項
-
Hologres 外部テーブルは MaxCompute テーブルのみマッピングできます。他のデータソースはサポートされていません。
-
DataWorks コンソールでの Hologres 外部テーブルの作成は、中国 (上海) および中国 (北京) リージョンでのみ利用可能です。
背景情報
Hologres は 2 種類のテーブルタイプをサポートしています。
| テーブルタイプ | データストレージ | ユースケース |
|---|---|---|
| 内部テーブル | ソースの MaxCompute データのコピーを Hologres に保存します | クエリパフォーマンスが高速です。ストレージコストよりもクエリ速度が重要な場合に適しています |
| 外部テーブル | データのコピーは行いません。ソースの MaxCompute テーブルに直接マッピングし、クエリと分析を高速化します | 冗長なストレージはありません。速度よりもデータの鮮度が重要なアドホッククエリに適しています |
DataWorks は、外部テーブルを作成するための GUI ベースのワークフローを提供します。または、CREATE FOREIGN TABLE を使用して DDL 文で作成することもできます。一度に複数の外部テーブルを作成するには、「数クリックで MaxCompute テーブルのスキーマを同期するノードの作成」をご参照ください。
Hologres 外部テーブルの作成
このプロセスは 5 つのステップで構成されます。
-
DataStudio を開きます。
-
ワークフローを作成します (既存のワークフローがある場合はスキップします)。
-
外部テーブルエントリを作成します。
-
外部テーブルを設定します。
-
コミットしてデプロイします。
ステップ 1:DataStudio を開く
DataWorks コンソールにログインします。左側のナビゲーションウィンドウで、[データモデリングと開発] > [DataStudio] を選択します。ドロップダウンリストからワークスペースを選択し、[DataStudio へ移動] をクリックします。
ステップ 2:ワークフローの作成
既存のワークフローがある場合は、このステップをスキップしてください。
-
アイコンにポインターを合わせ、[ワークフローの作成] を選択します。 -
[ワークフローの作成] ダイアログボックスで、[ワークフロー名] を入力します。
-
[作成] をクリックします。
ステップ 3:外部テーブルエントリの作成
-
アイコンにポインターを合わせ、[テーブルの作成] > [Hologres] > [テーブル] を選択します。 -
[テーブルの作成] ダイアログボックスで、[テーブルタイプ] を [外部テーブル] に設定し、[エンジンインスタンス]、[パス]、[名前] を設定します。

ステップ 4:外部テーブルの設定
設定タブには、[基本属性]、[物理モデル]、[テーブル構造設計] の 3 つのセクションがあります。
基本属性
| パラメーター | 説明 |
|---|---|
| タイプ | 外部テーブルのタイプです。MaxCompute のみがサポートされています。 |
| [サーバーリスト] | ソースの MaxCompute テーブルが存在するサーバーです。Hologres の下位層で作成される、組み込みの odps_server を使用します。詳細については、「postgres_fdw」をご参照ください。 |
| テーブル |
マッピングするソースの MaxCompute テーブルです。必要なフォーマットは、MaxCompute プロジェクトのモデルタイプによって異なります。
フォーマットがモデルタイプと一致しない場合、 |
物理モデル
このセクションのパラメーターは、テーブルの管理と分類のみを目的としています。基盤となる Hologres のロジックには影響しません。
| パラメーター | 説明 |
|---|---|
| テーマ | 業務カテゴリ別にテーブルを整理するための DataWorks の第1レベルおよび第2レベルのフォルダです。 |
| レイヤー | テーブル設定の管理テーブルが属する物理データ層 (データインポート、データ共有、データ分析など) です。アイコンをクリックしてデータ層を作成します。詳細については、「」をご参照ください。 |
| [カテゴリ] | 物理モデル内でのより細かい分類です。アイコンをクリックしてカテゴリを作成します。詳細については、「テーブルの設定を管理する」をご参照ください。 |
テーブル構造設計
このセクションのテーブルスキーマは、[基本属性] セクションの [Table] パラメーターから自動生成され、変更できません。Hologres はソースの MaxCompute テーブル構造を読み取り、対応するデータの型を使用して各列をマップします。
MaxCompute と Hologres 間のデータの型のマッピングは 1対1 である必要があります。詳細については、「MaxCompute と Hologres 間のデータの型のマッピング」をご参照ください。
ステップ 5:コミットとデプロイ
設定が完了したら、テーブルを開発環境または本番環境にコミットします。コミット後、テーブルは対応する環境の Hologres データベースに作成されます。
基本モードのワークスペースでは、本番環境にのみコミットしてください。詳細については、「基本モードのワークスペースと標準モードのワークスペースの違い」をご参照ください。
| 操作 | 説明 |
|---|---|
| [開発環境にコミット] | 開発環境の Hologres データベースにテーブルを作成します。コミット後、DataStudio のワークフローの Hologres フォルダにテーブルスキーマが表示されます。表示されるフォルダは、テーブル作成時に指定したフォルダです。 |
| [開発環境から読み込み] | 開発環境から現在のページにテーブル情報を読み込みます。テーブルが開発環境にコミットされた後にのみ利用可能です。この操作は現在のページを上書きします。 |
| [本番環境にコミット] | 本番環境の Hologres データベースにテーブルを作成します。 |
| [本番環境から読み込み] | 本番環境から現在のページにテーブル情報を読み込みます。テーブルが本番環境にコミットされた後にのみ利用可能です。この操作は現在のページを上書きします。 |
次のステップ
外部テーブルの作成後、それを使用して MaxCompute データを定期的に Hologres 内部テーブルにインポートします。
-
DataWorks コンソール:数クリックで MaxCompute データを同期するノードの作成