Hologres 外部テーブルは、DDL ステートメントまたは DataWorks のビジュアルツールを使用して作成できます。 このトピックでは、DataWorks のビジュアルツールを使用して Hologres 外部テーブルを作成する方法について説明します。
前提条件
Hologres コンピューティングリソースをワークスペースに追加し、DataStudio にバインドしておく必要があります。詳細については、「旧バージョンの DataStudio: Hologres コンピューティングリソースのバインド」をご参照ください。
[スペースマネージャー] または [Development] ロールが必要です。ロールの付与方法の詳細については、「ワークスペースレベルのサービスに対する権限の管理」をご参照ください。
背景情報
Hologres は、内部テーブルと外部テーブルの 2 種類のテーブルをサポートしています。 これらは次の点で異なります。
内部テーブル は、MaxCompute から直接データを保存します。MaxCompute のソーステーブルから Hologres 内部テーブルにデータを同期することで、高速なクエリと分析を実現できます。この方法では、外部テーブルを使用する場合よりもクエリパフォーマンスが向上します。
外部テーブル は、データを直接保存しません。代わりに、MaxCompute のソーステーブルにマッピングして、データクエリと分析を高速化します。この方法では、データの冗長性を回避し、データのインポートとエクスポートが不要になるため、クエリ結果を迅速に取得できます。
データ開発プラットフォームである DataWorks は、テーブルを作成するための便利なビジュアルな方法を提供します。 一度に複数の Hologres 外部テーブルを作成するには、MaxCompute からのスキーマ同期機能を使用できます。 DDL ステートメントを使用して Hologres に直接テーブルを作成することもできます。 詳細については、「CREATE FOREIGN TABLE」をご参照ください。
制限事項
-
MaxCompute テーブルにマッピングされた Hologres 外部テーブルのみを作成できます。
-
この機能は、中国 (上海) と中国 (北京) リージョンでのみ利用可能です。
手順
-
Data Studio ページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[Data Integration] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[Data Integrationに移動] をクリックします。
-
[Workflow]を作成します。
既存の [Workflow] がある場合は、この手順をスキップしてください。
-
アイコンにカーソルを合わせ、Create Workflow を選択します。 -
Create Workflow ダイアログボックスで、Workflow Name を入力します。
-
Create をクリックします。
-
-
Hologres 外部テーブルを作成します。
-
アイコンにカーソルを合わせ、 を選択します。 -
Create Table ダイアログボックスで、Table Type で External Table を選択し、テーブルのエンジン、パス、名前を設定します。
設定が完了したら、[作成] をクリックします。
-
-
Hologres 外部テーブルを設定します。
Hologres 外部テーブルの設定ページで、テーブルのプロパティを設定します。
-
基本プロパティを設定します。
次の表に、主な基本プロパティを示します。
パラメーター
説明
[Type]
作成する Hologres 外部テーブルのタイプ。
説明MaxCompute テーブルにマッピングされた Hologres 外部テーブルのみを作成できます。
[Servers]
外部テーブルが MaxCompute データソースへの接続に使用するサーバー。
説明MaxCompute の外部テーブルを作成するには、Hologres の基盤となるレイヤーで既に作成されている
odps_server外部テーブルサーバーを使用する必要があります。 原則の詳細については、「postgres_fdw」をご参照ください。[Table]
Hologres 外部テーブルがクエリする MaxCompute ソーステーブル。
MaxCompute プロジェクトのモデルタイプに応じて、次のパラメーターを設定する必要があります:
-
2層モデル:
-
[project_name]:MaxCompute プロジェクトの名前。
-
[table_name]:クエリ対象の MaxCompute ソーステーブルの名前。
-
-
3層モデル:
-
[project_name]:MaxCompute プロジェクトとスキーマの名前。形式は
odps_project_name#odps_schema_nameです。 -
[table_name]:クエリ対象の MaxCompute ソーステーブルの名前。
-
説明設定されたパラメーターがモデルタイプの要件を満たさない場合、
failed to import foreign schema:Table not found - table_xxxなどのエラーが発生します。 -
ビジネス情報を設定します。
説明テーブルのビジネス情報は管理目的のみであり、基盤となるロジックには影響しません。
パラメータ
説明
テーマ
テーブルが属するプライマリフォルダとセカンダリフォルダです。ビジネス目的に基づいてテーブルを分類し、同じタイプのテーブルを同じフォルダに割り当てることができます。
説明プライマリテーマとセカンダリテーマは DataWorks におけるフォルダの表現であり、テーブルをより適切に管理するために使用されます。
[Layer]
テーブルの物理データウェアハウス階層です。レイヤーは、データウェアハウス階層を定義および管理するもので、通常、ODS 層、共通層、分析層が含まれます。ビジネスニーズに基づいて、テーブルを適切なレイヤーに割り当てることができます。
説明
アイコンをクリックして、レイヤーをカスタマイズします。詳細については、「テーブルの管理」をご参照ください。[物理カテゴリ]
テーブルの物理カテゴリです。ビジネスの観点から、より詳細な分類に使用されます。一般的なカテゴリには、基本ビジネス、高度なビジネス、その他があります。
説明
アイコンをクリックして、物理カテゴリをカスタマイズします。詳細については、「カテゴリの管理」をご参照ください。-
テーブルスキーマを設定します。
[テーブル構造設計] ページで、[フィールド設計] タブに移動し、Hologres 外部テーブルにマッピングするフィールドを選択します。 この例では、2 つのテキスト型フィールド
smischemaとsmitableが選択されています。 手順4の[基本プロパティの設定]でTable パラメーターを設定すると、MaxCompute ソーステーブルのスキーマが自動的に表示されます。 このスキーマは、最終的な Hologres 外部テーブルの作成に使用されますが、編集はできません。説明MaxCompute テーブルに基づいて Hologres 外部テーブルを作成する場合、2 つの間でデータ型がマッピングされます。 外部テーブルのフィールドタイプは、MaxCompute ソーステーブルのフィールドタイプと 1 対 1 で対応する必要があります。 MaxCompute と Hologres 間のデータ型マッピングについては、「MaxCompute と Hologres 間のデータ型マッピング」をご参照ください。
-
-
Hologres 外部テーブルをコミットしてデプロイします。
テーブルスキーマを定義したら、開発環境と本番環境にコミットする必要があります。コミットが正常に完了すると、その環境のエンジンプロジェクトでテーブルを表示できます。
説明ワークスペースが基本モードの場合、テーブルを本番環境にのみコミットする必要があります。基本モードと標準モードのワークスペースの違いの詳細については、「ワークスペースモード間の違い」をご参照ください。
操作
説明
[Load from Development Environment]
開発環境からテーブルの情報を読み込み、現在のページに表示します。
説明この操作は、テーブルが開発環境にコミットされた後にのみ実行できます。この操作を実行すると、開発環境からのテーブル情報が現在のページの情報を上書きします。
[Commit to Development Environment]
テーブルを DataWorks の開発環境にコミットします。これにより、開発環境の Hologres データベースに現在のテーブルが作成されます。
コミット後、DataStudio の対応するワークフローの Hologres ディレクトリでテーブルスキーマを表示できます。ワークフローは、テーブル作成時に選択したパスで決まります。
[Load from Production Environment]
本番環境からテーブルの情報を読み込み、現在のページに表示します。
説明この操作は、テーブルが本番環境にコミットされた後にのみ実行できます。この操作を実行すると、本番環境からのテーブル情報が現在のページの情報を上書きします。
[Commit to Production Environment]
テーブルを DataWorks の本番環境にコミットします。これにより、本番環境の Hologres データベースに現在のテーブルが作成されます。
次のステップ
Hologres 外部テーブルを作成した後、MaxCompute から Hologres 内部テーブルにデータを定期的にインポートできます。 次のいずれかの方法を使用してデータをインポートできます:
-
SQL コマンドを使用してデータをインポートします。 詳細については、「SQL を使用した MaxCompute からのデータインポート」をご参照ください。
-
DataWorks のビジュアルツールを使用してデータをインポートします。 詳細については、「MaxCompute ノードからのデータ同期」をご参照ください。