BladePipe 1.9.0: New data pipelines, faster Oracle writes, and improved stability.
跳到主要内容

Google Cloud Spanner 到 Doris

选择对端数据库:

数据链路

基本功能

功能说明
Schema Migration

If the target schema does not exist, BladePipe will automatically generate and execute CREATE statements based on the source metadata and the mapping rule.

Full Data Migration

Migrate data by sequentially scanning data in tables and writing it in batches to the target database.

Incremental Data Sync

Sync of common DML like INSERT, UPDATE, DELETE is supported.

Data Verification and Correction

Verify all existing data. Optionally, you can correct the inconsistent data based on verification results. Scheduled DataTasks are supported.
For more information, see Create Verification and Correction DataJob.

Subscription Modification

Add, delete, or modify the subscribed tables with support for historical data migration. For more information, see Modify Subscription.

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, truncating the name by "_digit" suffix.

Metadata Retrieval

Retrieve the target metadata with filtering conditions or target primary keys set from the source table.

Position Resetting

Reset positions by timestamp. Allow re-consumption of incremental data from a specific point in time via Change Streams.

高级功能

功能说明
全量前清空目标数据

运行全量任务前清除老数据,包括重跑任务、定时全量迁移都会触发此能力

重建目标表

运行全量任务前重建目标表,包括重跑任务、定时全量迁移都会触发此能力

Stream Load 数据写入

采用 Stream Load 到 Doris / SelectDB be 写入数据, 默认攒批写入,可动态调节刷出数据节奏和批次大小

0 值时间处理

支持将 0 值时间设置成不同类型的值,防止写入对端报错

Setting Data Partitions

When creating a DataJob, specify partition definitions at the table level (static or dynamic). Automatically add these partition definitions during schema migration.

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.

Adding Virtual Columns

Support adding custom virtual columns with fixed values, such as region, ID, etc.

Setting Target Primary Key

Change the primary key to another field to facilitate data aggregation and other operations.

Data Filtering Conditions

Support data filtering using WHERE conditions, with SQL-92 as the SQL language. For more information, see Data Filtering.

限制和注意点

限制项说明
Google Cloud API

需要为您的 Google Cloud 项目启用 Google Cloud Spanner API

对端表类型

仅支持 唯一键模型(Unique)

源端表类型

不支持 无主键表 迁移同步

数据类型

不支持 BINARY, BLOB 等二进制类型

增量写入冲突策略

Stream Load 写入以主键进行整行替换


源端数据源

前置条件

条件说明
账号权限要求

请参考 Spanner 权限要求

开启数据库变更流 (Change Streams)

需要为 Spanner 数据库开启 Change Streams 功能以捕获增量变更数据。

任务参数

参数名称说明
spannerProjectId

Google Cloud 项目 ID

spannerInstanceId

Spanner 实例 ID

spannerDatabaseId

Spanner 数据库 ID

credentialsPath

Google Cloud 服务账号 (Service Account) 的 JSON 凭证文件路径或 URL。

fullBatchSize

全量同步时的批次大小。

fullPagingCount

全量同步时的分页分区大小。

scanParallel

全量同步时的并行扫描线程数。

snapshotRead

是否使用快照读 (Snapshot Read),有助于提供强一致性的读取点。

increStartPosition

增量同步 (CDC) 的起始位点(时间戳)。

heartbeatIntervalMs

Change Stream 心跳间隔(毫秒)

filterDDL

是否在增量同步中过滤掉 DDL 语句。

fullDataSqlConditionEnabled

在全量同步扫描源端数据时允许添加 SQL 过滤条件。

Tips: 通用参数配置请参考 通用参数及功能


目标端数据源

前置条件

条件说明
账号权限

具备 SELECT, DDL 权限(可选)

网络准备

迁移同步节点(sidecar)可连接 Doris / SelectDB FE QueryPortFE/BE HttpPort

任务参数

参数名称说明
host

MySQL 协议交互链接,对应 Doris / SelectDB FE QueryPort

httpHost

Doris stream load 链接,对应 Doris / SelectDB FE/BE HttpPort

totalDataInMemMb

攒批写入,内存中最大数据容量,超过此容量或超过 asyncFlushIntervalSec 则刷出数据到写入队列

asyncFlushIntervalSec

攒批写入,等待刷出的间隔时间,超过此时间或超过 totalDataInMemMb 则刷出数据到写入队列

flushBatchMb

单表最大攒批容量,超过此容量则刷出数据到写入队列

realFlushPauseSec

使用 stream load 刷出数据到 Doris / SelectDB 的等待时间,0 则不等待

soTimeoutSec

在 QueryPort 或 HttpPort 执行操作时 tcp 超时链接(so_timeout)

enableTimeZoneProcess

是否对时间字段进行时区转换

timezone

目标端 Doris/SelectDB 时区,例如 +08:00 Asia/Shanghai America/New_York

maxInSizePerQuery

校验任务中,对端单次查询的最大 IN 条件值数量,大于该值会自动拆分多次查询

Tips: 通用参数配置请参考 通用参数及功能