DataWorks のデータ同期ノードを使用して、単一の MaxCompute テーブルから Hologres にデータを同期し、効率的なビッグデータ分析とリアルタイムクエリを実現します。このトピックでは、ノードの設定方法、データの移行方法、および Hologres のパフォーマンス専有型クエリ機能の活用方法について説明します。
背景情報
この機能を使用して MaxCompute 内部テーブルから Hologres 内部テーブルにデータを同期する場合、データはまず Hologres 外部テーブルにインポートされ、その後、内部テーブルに同期されます。MaxCompute から Hologres 外部テーブルへのデータ同期は、IMPORT FOREIGN SCHEMA コマンドを使用して実行されます。
前提条件
MaxCompute プロジェクトとHologres インスタンスを作成済みであること。
ご利用の MaxCompute プロジェクトと Hologres インスタンスが計算リソースとして DataWorks にバインドされており、接続テストに合格していること。
制限事項
MaxCompute ソーステーブルが存在する場合にのみ、外部テーブルを作成してデータを読み取ることができます。
同期ノードを作成する
データ同期ノードを設定する前に、Hologres の同期ノードを作成し、その設定ページに移動します。
宛先データソースの管理
データ同期ノードの設定ページで、宛先データソースを管理できます。
[データソース] の横にあるドロップダウンリストで、バインドした宛先 Hologres データソースを選択します。
[宛先管理] をクリックし、表示されるダイアログボックスで操作を選択します:
HoloWeb (インスタンスモニタリング):これを使用して、HoloWeb コンソールで宛先 Hologres インスタンスを管理します。
低速クエリ:これを使用して、宛先 Hologres インスタンスの過去の低速クエリを視覚的に表示および分析します。
アクティブ接続管理:これを使用して、宛先 Hologres インスタンスへの接続を診断および管理します。
データベース権限付与:これを使用して、宛先 Hologres インスタンスに新しいデータベースを追加したり、データベースに対する権限を付与したりします。
ユーザー管理:これを使用して、HoloWeb のユーザー管理モジュールを通じて、宛先 Hologres インスタンスのユーザーを追加または削除し、権限を付与します。
同期ノードを構成する
宛先データソースを選択した後、ノード設定ページで次の手順に従って同期タスクを設定します。
MaxCompute ソーステーブルの選択
次のパラメーターの説明を使用して、MaxCompute ソーステーブルを選択および設定します。
パラメーター | 説明 |
ソースオブジェクトタイプ | デフォルト値は |
プロジェクト | 同期したいデータが含まれる MaxCompute プロジェクトを選択します。 |
スキーマ | 使用するスキーマの名前を選択します。 |
テーブル | 同期するテーブルの名前を選択します。 |
フィルター条件 | 選択したパーティションテーブルに基づいて、システムが自動的にフィルター条件を生成します。必要に応じて変更することもできます。この条件を満たすデータのみが同期されます。 説明 フィルター条件は、SQL 文の |
Hologres 宛先テーブルの設定
次のパラメーターの説明を使用して、Hologres 宛先テーブルを設定します。
パラメーター | 説明 | |
インスタンス | 「宛先データソースの管理」ステップで選択したデータソースに基づいて、システムがこのフィールドに自動的に入力します。 | |
データベース | 「宛先データソースの管理」ステップで選択したデータソースに基づいて、システムがこのフィールドに自動的に入力します。 | |
スキーマ | Hologres 内部テーブルが属するスキーマを指定します。 | |
テーブル | Hologres 内部テーブルの名前を指定します。同じ名前のテーブルが既に存在する場合、システムの操作はテーブルのタイプによって異なります:
説明 新しいテーブルのスキーマが既存のテーブルと異なる場合、エラーが発生します。 | |
フィールド | 同期フィールド | 同期するフィールドを選択し、Hologres 宛先テーブルの各フィールドのデータ型を設定します。 |
パーティション設定 | 新しいテーブルのパーティションキーフィールドを選択します。 | |
インデックス構成 | Hologres 内部テーブルにインデックスを作成して、クエリを高速化します。インデックスの作成の詳細については、「CREATE TABLE」をご参照ください。
| |
詳細設定
[詳細] セクションでは、GUC パラメーターと外部サーバーを設定できます。
パラメーター | 説明 |
GUC パラメーター | MaxCompute からデータをインポートする前に、特定の GUC パラメーターを設定する必要があります。サポートされている GUC パラメーターのリストについては、「GUC パラメーター」をご参照ください。他の SQL 文はサポートされていません。 |
外部サーバー | デフォルト値は |
同期ノードの実行とデバッグ
同期タスクを実行およびデバッグするには、そのプロパティを設定します。
ノードのプロパティを設定します。
Run Configuration タブで、[コンピューティングエンジンインスタンス] と [リソースグループ] を設定します。次の表にパラメーターを説明します。
パラメーター
説明
Compute Engine インスタンス
バインドした Hologres 計算リソースを選択します。
リソースグループ
Hologres 計算リソースをバインドしたときに接続テストに合格したリソースグループを選択します。
Compute CU
タスクの実行に必要なコンピューティングユニット (CU) の数を設定します。デフォルト値は
0.25です。パラメーター
フィルター条件で
${ParameterName}の形式で変数を定義する場合は、[パラメーター] セクションで [パラメーター名] と [パラメーター値] を設定する必要があります。タスクが実行されると、変数は動的に実際の値に置き換えられます。詳細については、「ノードのスケジューリング設定」をご参照ください。ノードタスクを実行するには、[保存] をクリックしてから [実行] をクリックします。
次のステップ
ノードのスケジューリング設定:ノードを定期的に実行する必要がある場合は、ページの右側にある [スケジュール] タブで [スケジューリングポリシー] を設定してスケジューリングを構成します。
ノードのデプロイ:本番環境でタスクを実行するには、
アイコンをクリックしてデプロイダイアログボックスを開きます。デプロイ後、ノードはスケジューリング設定に従って定期的に実行されます。
よくある質問
フィールドのデータ型の不一致:設定中にフィールドのデータ型の不一致が発生すると、同期タスクは失敗します。Hologres テーブルのフィールドのデータ型が正しく設定されていることを確認してください。
単一パーティションの同期後のデータ不整合:ソースのフィルター条件が正しいことを確認してください。