DataHub数据源作为数据中枢,为您提供读取和写入DataHub数据库的双向通道,能够快速解决海量数据的计算问题。本文为您介绍DataWorks的DataHub数据同步的能力支持情况。
支持的版本
DataHub Reader通过DataHub的Java SDK读取DataHub中的数据,具体使用的Java SDK版本,如下所示。
<dependency> <groupId>com.aliyun.DataHub</groupId> <artifactId>aliyun-sdk-DataHub</artifactId> <version>2.9.1</version> </dependency>
DataHub Writer通过DataHub服务的Java SDK向DataHub写入数据,使用的日志服务Java SDK版本如下。
<dependency> <groupId>com.aliyun.datahub</groupId> <artifactId>aliyun-sdk-datahub</artifactId> <version>2.5.1</version> </dependency>
使用限制
离线读写
STRING字符串仅支持UTF-8编码,单个STRING列最长允许1MB。
实时读写
实时数据同步任务支持使用Serverless资源组(推荐)和独享数据集成资源组。
实时同步至DataHub时,按源端校验哈希值,同一个哈希值的数据会同步到同一个shard中。
全增量实时写
运行同步任务后,生成的离线同步任务将全量数据写入DataHub,待全量数据执行完成后,启动实时同步任务,将源端增量数据实时同步至目标端。数据写入格式如下:
仅支持将数据写入DataHub Tuple类型的Topic中。关于DataHub TUPLE数据类型说明,详情请参见:数据类型介绍。
实时同步至DataHub会在源表字段基础上,新增5个附加字段,并支持您在配任务配置时,自行添加额外的字段。最终发送给DataHub的消息格式,详情请参见:附录:DataHub消息格式。
支持的字段类型
DataHub同步数据时,会根据DataHub Field的数据类型同步到对应的数据类型中,DataHub仅支持BIGINT、STRING、BOOLEAN、DOUBLE、TIMESTAMP、DECIMAL数据类型。
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建并管理数据源,详细的配置参数解释可在配置界面查看对应参数的文案提示。
数据同步任务开发
数据同步任务的配置入口和通用配置流程可参见下文的配置指导。
单表离线同步任务配置指导
操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。
脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。
单表、整库实时同步任务配置指导
操作流程请参见DataStudio侧实时同步任务配置。
DataHub不同数据类型对应操作的支持情况,不同数据类型的分片策略、数据格式及相关消息示例。详情请参见:附录:DataHub消息格式。
单表、整库全增量(实时)同步配置指导
操作流程请参见数据集成侧同步任务配置。
常见问题
附录:脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下数据源的参数配置详情。
- 本页导读 (1)
- 支持的版本
- 使用限制
- 离线读写
- 实时读写
- 全增量实时写
- 支持的字段类型
- 创建数据源
- 数据同步任务开发
- 单表离线同步任务配置指导
- 单表、整库实时同步任务配置指导
- 单表、整库全增量(实时)同步配置指导
- 常见问题
- 附录:脚本Demo与参数说明
- 离线任务脚本配置方式
- Reader脚本Demo
- Reader脚本参数
- Writer脚本Demo
- Writer脚本参数