Hologres数据源为您提供读取和写入Hologres双向通道的功能,本文为您介绍DataWorks的Hologres数据同步的能力支持情况。
支持的版本
Hologres支持的版本:0.7、0.8、0.9、0.10、1.1、1.2、1.3。
使用限制
离线读写
Hologres数据源支持使用Serverless资源组(推荐)和独享数据集成资源组。
Hologres Writer不支持写入数据至Hologres的外部表。
Hologres数据源连通性获取Hologres端点的逻辑:
当前地域的Hologres实例,Hologres端点获取顺序:
。跨地域的Hologres实例,Hologres端点获取顺序:
。
整库实时写
实时数据同步任务仅支持使用Serverless资源组(推荐)和独享数据集成资源组。
实时数据同步任务暂不支持同步没有主键的表。
支持的字段类型
字段类型 | 离线读(Hologres Reader) | 离线写(Hologres Writer) | 实时写 |
字段类型 | 离线读(Hologres Reader) | 离线写(Hologres Writer) | 实时写 |
UUID | 不支持 | 不支持 | 不支持 |
CHAR | 支持 | 支持 | 支持 |
NCHAR | 支持 | 支持 | 支持 |
VARCHAR | 支持 | 支持 | 支持 |
LONGVARCHAR | 支持 | 支持 | 支持 |
NVARCHAR | 支持 | 支持 | 支持 |
LONGNVARCHAR | 支持 | 支持 | 支持 |
CLOB | 支持 | 支持 | 支持 |
NCLOB | 支持 | 支持 | 支持 |
SMALLINT | 支持 | 支持 | 支持 |
TINYINT | 支持 | 支持 | 支持 |
INTEGER | 支持 | 支持 | 支持 |
BIGINT | 支持 | 支持 | 支持 |
NUMERIC | 支持 | 支持 | 支持 |
DECIMAL | 支持 | 支持 | 支持 |
FLOAT | 支持 | 支持 | 支持 |
REAL | 支持 | 支持 | 支持 |
DOUBLE | 支持 | 支持 | 支持 |
TIME | 支持 | 支持 | 支持 |
DATE | 支持 | 支持 | 支持 |
TIMESTAMP | 支持 | 支持 | 支持 |
BINARY | 支持 | 支持 | 支持 |
VARBINARY | 支持 | 支持 | 支持 |
BLOB | 支持 | 支持 | 支持 |
LONGVARBINARY | 支持 | 支持 | 支持 |
BOOLEAN | 支持 | 支持 | 支持 |
BIT | 支持 | 支持 | 支持 |
JSON | 支持 | 支持 | 支持 |
JSONB | 支持 | 支持 | 支持 |
实现原理
离线读写
Hologres Reader通过PSQL读取Hologres表中的数据,根据表的Shard Count发起多个并发,每个Shard对应一个Select并发任务:
Hologres在创建表时,在同一个
CREATE TABLE
事务中,通过CALL set_table_property('table_name', 'shard_count', 'xx')
配置表的Shard Count。默认情况下,使用数据库默认的Shard Count,具体数值取决于Hologres实例的配置。
Select语句通过表的内置列hg_shard_id的Shard筛选数据。
离线写
Hologres Writer通过数据同步框架获取Reader生成的协议数据,根据conflictMode(冲突策略)的配置决定写入数据时的冲突解决策略。
您可以通过配置conflictMode,决定新导入的数据和已有数据的主键发生冲突时,如何处理新导入的数据:
conflictMode仅适用于有主键的表。具体写入原理和性能,详情请参考技术原理。
conflictMode为Replace(整行更新)模式时,新数据覆盖旧数据,整行所有列全部覆盖,没有配置列映射的字段会强制写NULL。
conflictMode为Update(更新)模式时,新数据覆盖旧数据,只覆盖配置有列映射的字段。
conflictMode为Ignore(忽略)模式时,忽略新数据。
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建并管理数据源,详细的配置参数解释可在配置界面查看对应参数的文案提示。
数据同步任务开发
数据同步任务的配置入口和通用配置流程可参见下文的配置指导。
单表离线同步任务配置指导
操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。
脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。
单表、整库实时同步任务配置指导
操作流程请参见DataStudio侧实时同步任务配置。
单表、整库全增量实时写任务配置指导
操作流程请参见数据集成侧同步任务配置。
附录:脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下数据源的参数配置详情。
- 本页导读 (1)
- 支持的版本
- 使用限制
- 离线读写
- 整库实时写
- 支持的字段类型
- 实现原理
- 离线读写
- 离线写
- 创建数据源
- 数据同步任务开发
- 单表离线同步任务配置指导
- 单表、整库实时同步任务配置指导
- 单表、整库全增量实时写任务配置指导
- 附录:脚本Demo与参数说明
- 离线任务脚本配置方式
- Reader脚本Demo
- Reader脚本参数
- Writer脚本Demo
- Writer脚本参数