DataStudio の「MaxComputeからのデータ同期」 ノードを使用すると、MaxCompute から Hologres へデータを同期できます。これにより、MaxCompute テーブルに対するクエリが高速化されます。このトピックでは、「MaxComputeからのデータ同期」 ノードを作成し、設定する方法について説明します。
背景情報
「MaxComputeからのデータ同期」 ノードを使用して Hologres で MaxCompute データをクエリするには、まず Hologres に外部テーブルを作成する必要があります。この外部テーブルは、MaxCompute のソーステーブルを Hologres の内部テーブルにリンクします。その後、データはソーステーブルから内部テーブルに同期されます。外部テーブルのスキーマは、MaxCompute のソーステーブルのスキーマと一致する必要があります。SQL 文を使用して MaxCompute から Hologres にデータをインポートすることもできます。詳細については、「SQL を使用した MaxCompute からのデータインポート」をご参照ください。
MaxCompute データを Hologres にインポートすると、外部テーブルを使用して直接データをクエリするよりもパフォーマンスが向上します。MaxCompute データをクエリするための外部テーブルの作成に関する詳細については、「MaxCompute テーブルスキーマのワンクリック同期ノード」をご参照ください。
このトピックで説明する操作は、China (Shanghai) リージョンを例としています。他のリージョンでは、ユーザーインターフェイスが異なる場合があります。
前提条件
テーブルデータ同期ノードの作成
DataStudioページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
[ワークフロー] を作成します。
既存の [ワークフロー] がある場合は、このステップをスキップします。
アイコンにカーソルを合わせ、[ワークフローの作成] を選択します。[ワークフローの作成] ダイアログボックスで、[ワークフロー名] を入力します。
[作成] をクリックします。
-
[Data Synchronization from MaxCompute]を作成します。
-
アイコンにカーソルを合わせ、 を選択します。対象のワークフローを見つけて右クリックし、 を選択することもできます。
-
Create Node ダイアログボックスで、Name を入力し、Engine Instance、Node Type、Path を選択します。
-
OK をクリックして、ノード設定ページを開きます。
-
-
ノードを設定します。
ノード設定ページで、MaxCompute ソーステーブル、ターゲットテーブル、同期設定、SQL スクリプトを指定します。
設定ページにはいくつかのセクションがあります。[Hologres 宛先データソース設定] セクションで、[データソース接続] と [データベース] を選択します。[MaxCompute ソーステーブルの選択] セクションで、[外部テーブルソース] を選択し、[外部サーバー]、[MaxCompute プロジェクト]、[MaxCompute スキーマ]、[MaxCompute テーブル名]、[フィルター条件] を指定します。[Hologres ターゲットテーブル設定] セクションでは、[スキーマ]、[テーブル名]、[テーブルの説明] を設定できます。[インポート GUC パラメーター設定] セクションで、
set <GUC>=<values>;の形式で GUC パラメーターを指定できます。最後に、[同期設定] セクションには、[同期フィールド]、[パーティション設定]、[インデックス設定] タブが含まれます。-
ソーステーブル情報を設定します。
ソーステーブルを Hologres の外部テーブルにマッピングして、同期する MaxCompute データを指定します。
パラメーター
説明
[Data Source]
外部テーブルを含む Hologres インスタンス。
[Database]
外部テーブルを含む Hologres インスタンス内のデータベース。
-
MaxCompute ソーステーブルを選択します。
パラメーター
説明
[Source of External Table]
既存の Hologres 外部テーブルを使用するか、新規に作成するかを指定します。このテーブルは、データ同期のために MaxCompute ソーステーブルを Hologres 内部テーブルにリンクします。
-
[Existing External Table]:適切な外部テーブルが既に存在する場合にこのオプションを選択します。既存の外部テーブルのスキーマと名前を選択する必要があります。
-
[Create External Table]:「MaxComputeからのデータ同期」 ノードは、Hologres 外部テーブルを使用して MaxCompute テーブルデータのクエリを高速化します。Hologres 外部テーブルが存在しない場合にこのオプションを選択します。
このオプションを選択した場合、外部テーブルの作成に使用するサーバーを設定し、MaxCompute プロジェクト名とテーブル名を指定する必要があります。
説明Hologres にあらかじめ作成されている組み込みの
odps_server外部サーバーを使用できます。原理の詳細については、「postgres_fdw」をご参照ください。
-
-
Hologres ターゲットテーブルを設定します。
MaxCompute からのデータを格納するために、Hologres 内部テーブルを作成します。
パラメーター
説明
[Schema]
Hologres 内部テーブルが属する
schema。[Table Name]
Hologres 内部テーブルの名前。同名のテーブルが既に存在する場合、作成時のシステムの動作はテーブルタイプによって異なります。
-
非パーティションテーブルの場合:Hologres は既存の内部テーブルとそのデータを削除し、新しいテーブルを作成します。
-
パーティションテーブルの場合:既存のテーブルとそのデータは削除されません。代わりに、Hologres はパーティション値に基づいてパーティションサブテーブルを作成し、データをインポートします。
説明新しいテーブルのスキーマが既存のテーブルのスキーマと異なる場合、エラーが発生します。
[Table Description]
Hologres 内部テーブルの説明。
-
-
同期設定を構成します。
これらの設定は、MaxCompute テーブルからのデータの同期方法を決定します。
タブ
説明
[Synchronization Field]
同期する MaxCompute テーブルの列を選択します。
[Partition Configurations]
同期したい MaxCompute テーブルのパーティションを選択します。
説明Hologres はレベル 1 のパーティションのみをサポートします。MaxCompute テーブルに複数レベルのパーティションがある場合、Hologres はそれらをレベル 1 のパーティションにマッピングします。余分なパーティションフィールドは自動的に通常の列にマッピングされます。
[Index Configuration]
Hologres ターゲットテーブルにインデックスを作成して、データクエリを高速化します。インデックスの作成方法の詳細については、「CREATE TABLE」をご参照ください。
-
SQL スクリプトを生成します。
DataWorks は設定を自動的に解析し、タスク用の SQL 文を生成します。この文を Hologres コードエディターで実行して、同期を実行します。
説明-
生成された SQL スクリプトは読み取り専用です。同期設定を更新した場合は、SQL スクリプトを更新し、新しい SQL 文を生成してください。
-
SQL を使用して同期タスクを実行する方法の詳細については、「SQL を使用した MaxCompute からのデータインポート」をご参照ください。
-
-
スケジューリング設定を構成します。
タスクをスケジュールするには、右側のナビゲーションウィンドウで [プロパティ] をクリックしてスケジューリング設定を構成します。
基本的なスケジューリング情報を構成します。詳細については、「基本プロパティの構成」をご参照ください。
時間サイクル、再実行プロパティ、および依存関係を構成します。詳細については、「時間プロパティの構成」および「同一サイクルスケジューリング依存関係の構成」をご参照ください。
説明ノードをサブミットする前に、[再実行プロパティ] と [依存するアップストリームノード] を構成する必要があります。
リソースプロパティを構成します。詳細については、「リソースプロパティの構成」をご参照ください。インターネットまたは VPC 経由で MySQL データソースにアクセスするには、MySQL データソースに接続されているスケジューリングリソースグループを選択します。詳細については、「ネットワーク接続ソリューション」をご参照ください。
-
ノードを保存して実行します。
-
ノード設定ページの上部ツールバーで、
アイコンをクリックしてノード設定を保存します。 -
ノード設定ページの上部ツールバーで、
アイコンをクリックして MaxCompute データを同期します。
標準モードのワークスペースを使用している場合、タスクがコミットされた後、ツールバーの左上隅にある [デプロイ] をクリックして、タスクを本番環境にデプロイします。詳細については、「タスクのデプロイ」をご参照ください。
-
定期タスクを表示します。
右上隅の [オペレーションセンター] をクリックして本番環境にアクセスします。
定期タスクを表示します。詳細については、「定期タスクの管理」をご参照ください。
定期タスクの詳細については、上部のナビゲーションバーで [オペレーションセンター] をクリックします。詳細については、「概要」をご参照ください。
次のステップ
MaxCompute からのデータ同期が完了したら、DataWorks の Table Management ページに移動してデータを表示できます。詳細については、「テーブルの管理」をご参照ください。Hologres の HoloWeb を使用して、同期されたデータをクエリすることもできます。詳細については、「HoloWeb」をご参照ください。