SAP HANA 到 Kafka
| 功能 | 说明 |
|---|---|
Schema Migration | If the specified Topic after mapping does not exist in the Target, BladePipe will automatically create the Topic, allowing setting the number of partitions. |
Full Data Migration | Migrate data by sequentially scanning data in tables and writing it in batches to the message middleware. |
Incremental Data Sync | Sync of common DML like INSERT, UPDATE, DELETE is supported. |
Subscription Modification | Add, delete, or modify the subscribed tables with support for historical data migration. For more information, see Modify Subscription. |
Position Resetting | Reset positions by data ID or timestamp. Allow re-consumption of CDC data in a past period. |
Table Name Mapping | Support the mapping rules, namely, keeping the name the same as that in Source, converting the text to lowercase, converting the text to uppercase. |
Metadata Retrieval | Retrieve the target metadata with filtering conditions or target primary keys set from the source table. |
高级功能
| 功能 | 说明 |
|---|---|
基于 Trigger 增量同步 | 任务会自动创建表的触发器,触发器能捕获数据的 INSERT / UPDATE / DELETE 事件并写入增量 CDC 数据表 |
消息格式 | 支持以下消息格式,文档:消息格式说明
|
Table-level Topic | Create Topics corresponding to the tables in the Source, and the table partitions can be obtained automatically. |
DDL Dedicated Topic | Allow specifying a Topic for DDL. If not specified, DDL time is placed in partition 0 of the Topic created from the corresponding table. |
Scheduled Full Data Migration | For more information, see Create Scheduled Full Data DataJob. |
Custom Code | For more information, see Custom Code Processing, Debug Custom Code and Logging in Custom Code. |
Data Filtering Conditions | Support data filtering using WHERE conditions, with SQL-92 as the SQL language. For more information, see Data Filtering. |
限制和注意 点
| 限制项 | 说明 |
|---|---|
DDL 变化处理方案 | SAP HANA 源端通过触发器捕获增量数据,不支持 DDL 同步。若发生 DDL 变更,可参考文档:SAP HANA 源端表结构变更 |
HANA 增量同步数据类型 | HANA 增量阶段,触发器不支持捕获 TEXT、BIN_TEXT、ST_POINT、ST_GEOMETRY 类型的数据变更 |
Hana Trigger Recording Data Before Changes | Considering the efficiency of Hana triggers, in the single CDC table mode, only the primary key data before changes is recorded currently. |
使用示例
| 标题 | 详情 |
|---|---|
跨互联网数据互通 (Kafka) | |
Kafka 数据中转校验 | 文档:Kafka 数据中转校验 |
前置条件
| 条件 | 说明 |
|---|---|
账号权限 | 文档:HANA 需要的权限 |
任务参数
| 参数名称 | 说明 |
|---|---|
sysTriggerDataSchema | 触发器写入增量表 SCHEMA 名称 |
sysTriggerDataTable | 触发器写入增量表 TABLE 名称 |
incrPagingCount | 触发器增量同步每次查询数据总量 |
incrIdleSleepSecond | 触发器的增量同步空闲时查询间隔(单位:秒) |
incrScanIntervalMs | 设置基于触发器的增量同步数据查询间隔(单位:毫秒) |
autoCheckTriggerAndReInstall | 任务启动时检查触发器状态并重新安装 |
triggerDataCleanEnabled | 是否开启定时清理触发器增量表数据 |
triggerDataCleanIntervalMin | 设置触发器增量表的清理间隔(单位:分钟) |
triggerDataRetentionMin | 设置触发器增量表数据的保留时间(单位:分钟) |
dbHeartbeatEnable | 配置对源端数据库是否开启心跳 |
needTriggerDataJsonEscape | 是否对触发器增量表数据加转义符(\) |
triggerDataJsonQuotation | 自定义触发器增量表 JSON 数据引号 |
triggerParamBathSize | 设置触发器模板中每个变量包含列的个数 |
fullBeforeImageEnabled | 触发器是否记录所有列变更前的完整数据 |
Tips: 通用参数配置请参考 通用参数及功能
任务参数
| 参数名称 | 说明 |
|---|---|
schemaFormat | 消息格式,文档:消息格式说明 |
batchWriteSize | 单条消息最大数据条数,超过则拆分消息 |
defaultTopic | 无法找到对应 Topic 的消息则发送到此 Topic (如新增表) |
ddlTopic | 专门发送 DDL 的 Topic, 为空则发送到对应 Topic 的第 0 个分区 |
compressionType | Kafka compression.type 参数, 设置压缩算法, 支持 GZIP, SNAPPY, LZ4, ZSTD 算法 |
batchSize | Kafka batch.size 参数 |
acks | Kafka acks 参数, 默认 all |
maxRequestBytes | Kafka max.request.size 参数 |
lingerMs | Kafka linger.ms 参数, 默认 1 |
envelopSchemaInclude | 当 schemaFormat 设置为 DEBEZIUM_ENVELOP_JSON_FOR_MQ 时,消息体是否包含 schema 信息 |
customClientProps | 自定义传入到 Kafka Client 参数,JSON 格式,key为参数名,value为参数值。此配置项以最高优先级生效。例如:AWS IAM 访问控制 |
Tips: 通用参数配置请参考 通用参数及功能