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 ステートメントはサポートされていません。 |
|
[外部サーバー] |
デフォルト値は |
データ同期ノードのデバッグ
同期タスクをデバッグするには、要件に応じて適切なデバッグ情報を設定します。
-
デバッグ用のノードプロパティを設定します。
ノード設定ページの右側にあるデバッグの構成 ペインで、計算リソース とリソースグループ を設定します。 次の表にパラメーターを示します。
パラメーター
説明
[計算リソース]
バインドした Hologres コンピューティングリソースを選択します。
[リソースグループ]
Hologres コンピューティングリソースをバインドした際に接続テストに合格したリソースグループを選択します。
[スケジューリング CU]
タスクに必要な CU 数を設定します。 デフォルト値は
0.25です。パラメーター
フィルター条件で
${ParameterName}形式を使用して変数を定義する場合、スクリプトパラメーター セクションでパラメーター名 とパラメーター値 を指定する必要があります。 実行時に、変数が実際の値に動的に置き換えられます。 詳細については、「ノードのスケジューリング設定」をご参照ください。 -
ノードをデバッグして実行するには、保存 をクリックしてから実行 をクリックします。
次のステップ
-
ノードのスケジューリング設定:ノードが定期的なスケジューリングを必要とする場合は、右側のスケジューリングポリシー ペインでスケジューリング設定 を設定し、スケジューリングプロパティを設定します。
-
ノードのデプロイ:タスクを本番環境にデプロイする必要がある場合は、
アイコンをクリックしてデプロイプロセスを開始します。 ノードは、本番環境にデプロイされた後にのみ定期的に実行されます。
よくある質問
-
フィールドタイプの不一致:設定中にフィールドのデータ型が一致しないと、同期タスクは失敗します。 Hologres テーブルのフィールドタイプ設定が正確であることを確認してください。
-
同期した単一パーティションのデータが実際のデータと一致しない:ソースで設定したフィルター条件が正しいかどうかを確認してください。