创建同步hologres
准备工作
1. 创建项目
登录DataHub控制台,单击左侧导航栏的项目管理。
在项目列表页面单击新建项目。
配置新建项目弹框的参数,单击创建。
2. 新建Topic
成功创建项目后,在项目列表页面单击项目名称,进入项目详情页。
单击项目详情页右上角的新建Topic,配置新建Topic弹框的参数。
说明:目前仅支持同步DataHub的TUPLE数据至Hologres
创建完成的Topic示例如下:
索引 |
名称 |
类型 |
是否允许为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. 写入数据
成功创建Topic后,您需要使用工具(例如Blink)或者程序写入数据至Topic中。使用工具写入数据的结果示例如下
4. Hologres创建数据接收表。
在Hologres中创建一张用于接收数据的表,表的字段类型与DataHub中Topic的字段类型相互映射。示例建表语句如下:
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', 'datahub_sync_mode', 'node');
call set_table_property('lineitem', 'datahub_upsert_mode', 'insert_or_ignore');
COMMIT;
5. 创建Hologres Connector
单击DataHub中已创建的Topic,进入Topic详情页。
单击Topic详情页右上角的+同步。
在新建Connector界面单击Hologres,配置新建Connector弹框的参数,单击创建。
同步Hologres支持分区表,在Hologres创建分区表后,同步Hologres任务会自动根据分区字段进行数据同步
参数 |
描述 |
说明 |
Instance |
Hologres实例的ID。 |
进入Hologres管理控制台的,获取实例ID。 |
DataBase |
Hologres的数据库名称。 |
无 |
Table |
Hologres用于接收数据的表名称。 |
无 |
导入字段 |
需要导入Hologres的字段。 |
可以根据实际业务需求选择导入部分或全部字段。 |
鉴权模式 |
默认为AK。 |
无 |
AccessId |
访问Hologres实例的AccessKey ID。 |
您可以单击AccessKey 管理,获取用户的AccessKey ID。 |
AccessKey |
访问Hologres实例的AccessKey Secret。 |
您可以单击AccessKey 管理,获取AccessKey Secret。 |
起始时间 |
同步Hologres的最早数据同步时间 |
无 |
TimestampUnit |
同步Hologres的时间单位 |
将数据中TIMESTAMP类型的数据(如果有),以TimestampUnit为单位进行转换后写入到下游系统的日期类型 |
6.同步DataHub的数据至Hologres
成功创建Connector后,您可以在Topic详情页的数据同步中查看实时同步数据的状态。
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 |