DataWorks では、単一の MaxCompute テーブルから Hologres にデータを同期するためのノードを作成できます。これは、ビッグデータ分析とリアルタイムクエリを効率的に実行するのに役立ちます。このトピックでは、MaxCompute から Hologres にデータを簡単に同期し、Hologres の高性能クエリ機能を最大限に活用するためのノードを構成する方法について説明します。
背景情報
MaxCompute 内部テーブルから Hologres 内部テーブルにデータを同期するためのノードを実行すると、データは最初に Hologres 外部テーブルにインポートされ、次に外部テーブルから Hologres 内部テーブルに同期されます。MaxCompute から Hologres 外部テーブルへのデータ同期は、IMPORT FOREIGN SCHEMA 文を実行することで実装されます。
前提条件
MaxCompute プロジェクトと Hologres インスタンスが作成されていること。詳細については、「MaxCompute プロジェクトを作成する」および「Hologres インスタンスを購入する」をご参照ください。
MaxCompute プロジェクトと Hologres インスタンスがワークスペースに計算リソースとして関連付けられており、計算リソースがネットワーク接続テストに合格していること。詳細については、「ワークスペースに計算リソースを関連付ける(Data Studio のパブリックプレビューへの参加が有効になっている)」をご参照ください。
制限事項
Hologres 外部テーブルを作成し、外部テーブルからデータを読み取ることができるのは、関連する MaxCompute 内部テーブルが存在する場合のみです。
同期ノードを作成する
最初に、Hologres にデータを同期するために使用するノードを作成し、ノードの構成タブに移動する必要があります。詳細については、「自動トリガーノードを作成する」をご参照ください。
Hologres データソースを管理する
Hologres にデータが同期された後、同期ノードの構成タブで次の操作を実行して Hologres データソースを管理できます。
接続ワークスペースに計算資源として Hologres インスタンスを関連付けた後に生成される Hologres データソースを、 ドロップダウンリストから選択します。
ドロップダウンリストの横にある [デスティネーションの管理ページ] をクリックし、次のオプションを選択して、Hologres データソースが対応する Hologres インスタンスで操作を実行します。
Holo コンソール (インスタンスモニタリング): Hologres コンソールで Hologres インスタンスを管理できます。
低速クエリ: Hologres インスタンスの過去の低速クエリを視覚的に表示および分析できます。
アクティブな接続管理: Hologres インスタンスの接続を診断および管理できます。
DB 権限付与: Hologres インスタンスにデータベースを作成したり、Hologres インスタンスに作成されたデータベースに対する権限を付与したりできます。
ユーザー管理: Hologres コンソールのユーザー管理モジュールを使用して、Hologres インスタンスにユーザーを追加または削除したり、ユーザーに権限を付与したりできます。
同期ノードを構成する
Hologres データソースを選択した後、次の手順を参照して同期ノードを構成できます。
ソース関連の設定を構成する
次のパラメーターの説明に基づいてソースを構成できます。
パラメーター | 説明 |
ソースオブジェクトタイプ | データを同期するオブジェクトのタイプ。このパラメーターの値は |
プロジェクト | データを同期する MaxCompute プロジェクトの名前。 |
スキーマ | 使用する MaxCompute スキーマの名前。 |
テーブル名 | データを同期するテーブルの名前。 |
フィルター条件 | データのフィルタリングに使用する条件。使用するパーティションテーブルに基づいて、システムが自動的にフィルター条件を生成します。ビジネス要件に基づいてフィルター条件を変更することもできます。フィルター条件を満たすデータが保持されます。 説明 フィルター条件は、SQL 文の |
デスティネーション関連の設定を構成する
次のパラメーターの説明に基づいてデスティネーションを構成できます。
パラメーター | 説明 | |
インスタンス | 使用する Hologres インスタンスの名前。システムは、[接続] ドロップダウンリストから選択した Hologres データソースに基づいて Hologres インスタンスを自動的に照合します。 | |
データベース | 使用する Hologres データベースの名前。システムは、[接続] ドロップダウンリストから選択した Hologres データソースに基づいてデータベースを自動的に照合します。 | |
スキーマ | 目的の Hologres 内部テーブルが属する Hologres スキーマの名前。 | |
テーブル名 | Hologres 内部テーブルの名前。ビジネス要件に基づいてこのパラメーターを構成できます。指定したテーブル名が既に存在する場合、状況を処理するために使用されるポリシーはテーブルタイプによって異なります。
説明 新しいテーブルのスキーマが既存のテーブルのスキーマと異なる場合、エラーが報告されます。 | |
フィールド | 同期フィールド | データの書き込み先となるフィールドを選択し、Hologres 内部テーブルのフィールドのデータ型を構成できます。 |
パーティション構成 | ビジネス要件に基づいて Hologres 内部テーブルのパーティションキー列を構成できます。 | |
インデックス構成 | 後続のデータクエリを容易にするために、同期された MaxCompute データを格納する Hologres 内部テーブルのインデックスを作成できます。インデックスの作成方法については、「CREATE TABLE」をご参照ください。
| |
高度なパラメーターを構成する
同期ノードの構成タブの [高度な設定の構成] セクションで、GUC パラメーターと外部サーバーを構成できます。
パラメーター | 説明 |
GUC パラメーター | 同期ノードに特定の GUC パラメーターを構成する必要があります。サポートされている GUC パラメーターについては、「GUC パラメーター」をご参照ください。他の SQL 文はサポートされていません。 |
外部サーバー | デフォルト値は |
同期ノードをデバッグする
同期ノードをデバッグして実行するには、ビジネス要件に基づいてデバッグ情報を構成します。
同期ノードをデバッグするためのプロパティを構成します。
デバッグ構成同期ノードの構成タブの右側のナビゲーションウィンドウで をクリックし、次のパラメーターを構成できます。
パラメーター
説明
計算リソース
ワークスペースに関連付けられている Hologres 計算リソースを選択します。
リソースグループ
Hologres 計算リソースをワークスペースに関連付けるときに接続テストに合格したリソースグループを選択します。
計算用の CU
同期ノードの実行に使用する CU の数を指定します。デフォルト値は
0.25です。スクリプトパラメーター
フィルター条件で
${パラメーター名}形式で変数を定義する場合は、[スクリプトパラメーター] セクションで パラメーター名 と パラメーター値 パラメーターを構成する必要があります。同期ノードが実行されると、変数は実際の値に置き換えられます。詳細については、「ノードスケジューリング」をご参照ください。同期ノードをデバッグして実行するには、[保存] と [実行] をクリックします。
次のステップ
ノードのスケジューリング: ワークスペースディレクトリ内のノードを定期的にスケジューリングする必要がある場合は、ノードの構成タブの右側ナビゲーションウィンドウで [プロパティ] をクリックし、[スケジューリングポリシー] セクションでパラメーターを構成する必要があります。
ノードデプロイメント: ノードを本番環境にデプロイする場合は、ノードの構成タブの上部にあるツールバーの
アイコンをクリックして、デプロイプロセスを開始できます。ワークスペースディレクトリのノードは、本番環境にデプロイされた後にのみ定期的にスケジュールできます。
追加情報
フィールドタイプの不一致: 同期ノードの構成時にフィールドタイプの不一致の問題が発生した場合、ノードは失敗します。Hologres テーブルのフィールドのデータ型が正しく構成されているかどうかを確認する必要があります。MaxCompute データ型と Hologres データ型のマッピングについては、「MaxCompute と Hologres 間のデータ型のマッピング」をご参照ください。
パーティションから実際に同期されたデータとパーティションの元のデータの不一致: ソースのフィルター条件が正しく構成されているかどうかを確認する必要があります。