BladePipe 1.7.0: Stronger alerts, Broader DB support, Faster KingbaseES scanning.
Skip to main content

SAP HANA to Kafka

BladePipe supports data replication from SAP HANA to Kafka. View supported migration, sync, verification, and connector capabilities.

Target DataSource:

Connection

Basic Functions

FunctionDescription
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.

Advanced Functions

FunctionDescription
Trigger-based Incremental Data Sync

The DataJob automatically creates triggers on tables. These triggers capture INSERT, UPDATE, and DELETE events and write them to the CDC tables.

Message Format

The following message formats are supported. See Message Format.

  • CloudCanal format
  • AlibabaCanal format
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.

Limits

LimitDescription
DDL Change Handling

BladePipe captures data changes in a source SAP HANA instance through triggers. DDL synchronization is not supported. If there are DDL changes, follow the steps in Change Schema in a Source SAP HANA Instance.

Hana Data Types in Incremental Sync

In the incremental data sync phase with a source Hana instance, it does not allow capturing changes for TEXT, BIN_TEXT, ST_POINT, and ST_GEOMETRY data types by triggers.

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.


Source

Prerequisites

PrerequisiteDescription
Permissions for Account

See Permissions Required for Hana

Parameters

ParameterDescription
sysTriggerDataSchema

The schema name where the trigger writes incremental data.

sysTriggerDataTable

The table name where the trigger writes incremental data.

incrPagingCount

The total amount of data queried each time by the trigger during incremental data synchronization.

incrIdleSleepSecond

The interval between queries for the trigger during idle period of incremental data synchronization (in seconds).

incrScanIntervalMs

The interval between data queries for the trigger during incremental data synchronization (in milliseconds).

autoCheckTriggerAndReInstall

Check the trigger status and reinstall it when the DataJob starts.

triggerDataCleanEnabled

Enable scheduled cleanup of trigger incremental data.

triggerDataCleanIntervalMin

The cleanup interval for trigger incremental data (in minutes).

triggerDataRetentionMin

The retention time for trigger incremental data (in minutes).

dbHeartbeatEnable

Configure whether to enable heartbeat for the source database.

needTriggerDataJsonEscape

Whether to escape characters (\) in the trigger incremental JSON.

triggerDataJsonQuotation

Custom quotation marks for trigger incremental JSON.

triggerParamBathSize

Set the number of columns involved per variable in the trigger template.

fullBeforeImageEnabled

Enable the trigger to record the complete data before all column changes.

Tips: To modify the general parameters, see General Parameters and Functions.


Target

Prerequisites

PrerequisiteDescription
Port Preparation

Allow the migration and sync node (Worker) to connect to the Kafka ports.

Parameters

ParameterDescription
schemaFormat

Message format. For more information, see Message Format.

batchWriteSize

The maximum data size of a single message. If the size exceeds the limit, the message will be split.

defaultTopic

Messages that cannot find a corresponding topic are sent to this topic (such as adding a new table)

ddlTopic

A topic specifically used to receive DDL events. If it is empty, the DDL events will be sent to the 0th partition of the corresponding topic.

compressionType

Kafka compression.type parameter to set compression algorithm. Support GZIP, SNAPPY, LZ4, ZSTD.

batchSize

Kafka batch.size parameter.

acks

Kafka acks parameter. By default, it is all.

maxRequestBytes

Kafka max.request.size parameter.

lingerMs

Kafka linger.ms parameter. By default, it is 1.

envelopSchemaInclude

When schemaFormat is set to DEBEZIUM_ENVELOP_JSON_FOR_MQ, it means whether the message body contains schema information.

customClientProps

Custom properties passed to the Kafka client in JSON format. The key is the parameter name and the value is the parameter value. This setting takes the highest priority. For example: AWS IAM Access Control

Tips: To modify the general parameters, see General Parameters and Functions.