このトピックでは、DataHub でコネクタを作成して Hologres にデータを同期する方法を説明します。また、重要な注意事項と潜在的な問題についても説明します。
事前準備
Hologres インスタンスとテーブルスキーマの準備
Hologres コンソールで Hologres インスタンスを作成します。DataHub が Hologres にデータを同期する際、DataHub フィールドのデータ型を対応する Hologres テーブルのデータ型にマッピングします。データ型のマッピングを次の表に示します。
DataHub | Hologres |
TINYINT | SMALLINT |
SMALLINT | SMALLINT |
INTEGER | INTEGER |
BIGINT | BIGINT |
FLOAT | REAL |
DOUBLE | DOUBLE PRECISION |
DECIMAL | DECIMAL |
STRING | TEXT |
BOOLEAN | BOOLEAN |
TIMESTAMP | TIMESTAMPTZ |
Hologres V2.0 以降は、TINYINT、SMALLINT、INTEGER、FLOAT という 4 つの新しい DataHub データ型をサポートします。
同期タスクの作成
DataHub で、トピックをクリックしてその詳細ページを開きます。
トピック詳細ページの右上隅にある
アイコンをクリックします。[New Connector] ページで、[Hologres] をクリックします。[New Connector] ダイアログボックスで、パラメーターを設定し、[Create] をクリックします。
Hologres はパーティションテーブルへの同期をサポートします。Hologres でパーティションテーブルを作成すると、同期タスクはパーティションフィールドに基づいてデータを自動的に同期します。
パラメーターの説明:
パラメーター
説明
注意事項
[インスタンス]
Hologres インスタンスの ID。
Hologres コンソールに移動します。左側のナビゲーションペインで、[インスタンスリスト] をクリックして [インスタンス ID] を表示します。
[DataBase]
Hologres データベースの名前。
なし
[テーブル]
データを受信する Hologres テーブルの名前。
なし
[プライマリキー同期ポリシー]
Hologres テーブルにプライマリキーがある場合の、DataHub からのデータ同期ポリシー。
[replace]:書き込み操作中にプライマリキーの競合が発生した場合、新しいデータが古いデータを上書きします。
[ignore]:書き込み操作中にプライマリキーの競合が発生した場合、新しいデータを無視して既存のデータを保持します。
[同期シナリオ]
DataHub から Hologres へのデータ同期モード。
[default]:DataHub データをレコードごとに Hologres に書き込みます。
[dts_old]:追加列の新しいルールを無効にします。
[dts]:追加列の新しいルールを有効にします。
[インポートフィールド]
Hologres にインポートするフィールド。
必要に応じて、一部またはすべてのフィールドをインポートできます。
[認証モード]
デフォルト値は AK です。
なし
[AccessId]
Hologres インスタンスへのアクセスに使用する AccessKey ID。
[AccessKey Management] をクリックして AccessKey ID を取得できます。
[AccessKey]
Hologres インスタンスへのアクセスに使用する AccessKey Secret。
[AccessKey Management] をクリックして AccessKey Secret を取得できます。
[開始時刻]
データの同期を開始する最も早い時刻。
なし
[TimestampUnit]
同期の時間単位。
データに TIMESTAMP 型のフィールドが含まれている場合、指定された TimestampUnit に基づいて値を変換し、ダウンストリームシステムの日付/時刻型フィールドに書き込みます。
説明dtsおよびdts_old同期モードは、Data Transfer Service (DTS) から DataHub にデータを書き込み、その後 Hologres に同期するシナリオで使用します。追加列のルールの詳細については、Hologres のドキュメント「DataHub からのデータインポート」をご参照ください。
DataHub から Hologres にデータを同期します。
コネクタの作成後、トピック詳細ページの [Sync Tasks] タブでリアルタイムのデータ同期ステータスを確認できます。同期タスクの [ステータス] 列に [RUNNING] と表示されている場合、DataHub から Hologres へのデータ同期は正常に実行されています。
Hologres でデータをクエリします。
Hologres インスタンスを開発者ツールに接続して、同期されたデータをリアルタイムでクエリします。詳細については、「Hologres インスタンスへの接続」をご参照ください。以下はクエリ文の例です。
SELECT COUNT(*) FROM lineitem;
付録 1:よくある質問
同期タスク作成時のエラー
ErrorCode=NoPermission; ErrorMessage=Rejected by IP whitelist解決策:Hologres は、アクセス管理に HoloWeb の IP ホワイトリストを使用します。このエラーが発生した場合は、HoloWeb の IP ホワイトリスト設定を確認してください。DataHub の IP アドレスをホワイトリストに追加する方法の詳細については、「IP ホワイトリスト」をご参照ください。