Hologres へのデータ同期
準備
1. プロジェクトを作成する
DataHub コンソール にログオンします。左側のナビゲーションウィンドウで、[プロジェクト マネージャー] をクリックします。
プロジェクト一覧プロジェクトを作成する ページの右上隅にある をクリックします。
プロジェクトを作成する作成 パネルで、必要に応じてパラメーターを設定し、 をクリックします。
2. トピックを作成する
プロジェクト一覧 ページで、作成したプロジェクトを見つけ、プロジェクト名をクリックします。
プロジェクトの詳細ページで、右上隅にある トピックを作成するトピックを作成する をクリックします。 パネルで、必要に応じてパラメーターを設定します。
注: DataHub から Hologres に同期できるのは、TUPLE タイプのデータのみです。
次の表に、サンプル トピックのフィールドを示します。
インデックス | フィールド | タイプ | NULL 値の許可 |
---|---|---|---|
0 | l_orderkey | BIGINT | False |
1 | l_partkey | BIGINT | False |
2 | l_suppkey | BIGINT | False |
3 | l_linenumber | BIGINT | False |
4 | l_quantity | DECIMAL | True |
5 | l_extendedprice | DECIMAL | True |
6 | l_discount | DECIMAL | True |
7 | l_tax | DECIMAL | True |
8 | l_returnflag | STRING | True |
9 | l_linestatus | STRING | True |
10 | l_shipdate | TIMESTAMP | True |
11 | l_commitdate | TIMESTAMP | True |
12 | l_receiptdate | TIMESTAMP | True |
13 | l_shipinstruct | STRING | True |
14 | l_shipmode | STRING | True |
15 | l_comment | STRING | True |
3. データを書き込む
4. データを受信するためのテーブルを Hologres に作成する。
データを受信するためのテーブルを Hologres に作成します。DataHub トピックと同じ名前とデータ型のフィールドを作成する必要があります。次のサンプル文は、テーブルの作成方法の例を示しています。
BEGIN;
CREATE TABLE lineitem (
L_ORDERKEY BIGINT NOT NULL,
L_PARTKEY BIGINT NOT NULL,
L_SUPPKEY BIGINT NOT NULL,
L_LINENUMBER BIGINT NOT NULL,
L_QUANTITY DECIMAL(20,10),
L_EXTENDEDPRICE DECIMAL(20,10),
L_DISCOUNT DECIMAL(20,10),
L_TAX DECIMAL(20,10),
L_RETURNFLAG TEXT,
L_LINESTATUS TEXT,
L_SHIPDATE TIMESTAMPTZ,
L_COMMITDATE TIMESTAMPTZ,
L_RECEIPTDATE TIMESTAMPTZ,
L_SHIPINSTRUCT TEXT,
L_SHIPMODE TEXT,
L_COMMENT TEXT
);
CALL set_table_property('lineitem', 'orientation', 'column');
CALL set_table_property('lineitem', 'shard_count', '8');
COMMIT;
5. DataConnector を作成する
プロジェクト詳細ページの [トピックリスト] タブで、作成したトピックを見つけ、トピック名をクリックします。
トピックの詳細ページで、右上隅にある コネクタ をクリックします。
コネクタを作成するHologres作成 パネルで、 をクリックします。次に、必要に応じてパラメーターを設定し、 をクリックします。
Hologres パーティションテーブルにデータを同期できます。Hologres にパーティションテーブルを作成すると、パーティションフィールドに基づいてデータがパーティションテーブルに自動的に同期されます。

パラメーター | 説明 | 備考 |
---|---|---|
インスタンス | Hologres インスタンスの ID。 | Hologres コンソール で インスタンス ID を表示できます。 |
データベース | Hologres インスタンス内のデータベースの名前。 | 該当なし |
テーブル | データを受信する Hologres テーブルの名前。 | 該当なし |
インポートフィールド | Hologres テーブルに同期されるフィールド。 | ビジネス要件に基づいて、DataHub トピックのすべてまたは一部のフィールドを同期できます。 |
認証モード | Hologres テーブルへのアクセスが認証されるモード。デフォルト値: AK。 | 該当なし |
AccessId | Hologres インスタンスへのアクセスに使用する現在の Alibaba Cloud アカウントの AccessKey ID。 | セキュリティ管理 ページから AccessKey ID を取得できます。 |
AccessKey | Hologres インスタンスへのアクセスに使用する現在の Alibaba Cloud アカウントの AccessKey シークレット。 | セキュリティ管理 ページから AccessKey シークレットを取得できます。 |
6. データが Hologres に同期されるまで待つ。
7. Hologres のデータのクエリ
Hologres インスタンスを開発ツールに接続し、ツールを使用して、データが Hologres インスタンスにリアルタイムで同期されているかどうかを確認します。開発ツールの詳細については、「概要」をご参照ください。たとえば、次の文を実行して同期されたデータをクエリできます。
SELECT COUNT(*) FROM lineitem;
データ型マッピング
次の表に、DataHub と Hologres のデータ型間のマッピングを示します。
DataHub | Hologres |
---|---|
BIGINT | BIGINT |
STRING | TEXT |
BOOLEAN | BOOLEAN |
DOUBLE | DOUBLE PRECISION |
TIMESTAMP | TIMESTAMPTZ |
DECIMAL | DECIMAL |