ClickHouse整库数据离线同步至Hologres

本文以ClickHouse离线同步写入Hologres场景为例,为您介绍如何一次性把ClickHouse整个数据库的数据离线同步至Hologres。

使用限制

  • ClickHouse离线同步仅支持阿里云ClickHouse 20.8、21.8版本。

  • ClickHouse离线同步仅支持使用独享数据集成资源组或新版资源组(通用型资源组)。

前提条件

操作步骤

步骤一:选择同步任务类型

  1. 进入数据集成页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据集成,在下拉框中选择对应工作空间后单击进入数据集成

  2. 在左侧导航栏单击同步任务,然后在创建同步任务区域,配置来源Clickhouse去向Hologres,点击开始创建。进入新建同步任务页面。

    • 新任务名称:自定义同步任务名称。

    • 同步类型:选择整库离线

步骤二:配置网络连通

  1. 网络与资源配置区域,数据来源选择已添加的ClickHouse数据源,数据去向选择已添加的Hologres数据源,选择同步资源组后,单击测试所有连通性,测试资源组与数据源的连通性。

    image

  2. 单击下一步

步骤三:选择要同步的表

此步骤中,您可以在源端库表区域选择源端数据源下需要同步的表,并单击image图标,将其移动至右侧已选库表

image

步骤四:目标表映射

目标表映射区域,全选目标表映射框中的表信息,单击批量刷新映射按钮。

说明

在上一步骤选择完需要同步的表后,将自动在此界面展示当前待同步的表,但目标表的相关属性默认为待映射状态,需要您定义并确认源表与目标表映射关系,即数据的读取与写入关系,然后单击刷新映射后才可进入下一步操作。您可以直接刷新映射,或自定义目标表规则后,再刷新映射。

您还可以选中列表中的表信息,单击批量修改,配置如下信息。

配置项

描述

目标表字段赋值

支持为目标表添加常量,变量。

目标Schema名映射自定义

可以使用内置变量和手动输入的字符串拼接成为最终目标Schema名。其中,支持您编辑内置变量,例如,做字符串替换。

目标表名映射自定义

可以使用内置变量和手动输入的字符串拼接成为最终目标表名。其中,支持您编辑内置变量,例如,做字符串替换。

目标表结构-批量修改和新增字段

可以批量修改目标表结构、添加字段和设置主键。

步骤五:编辑字段类型映射

在Hologres目标表为待建立的状态下,系统有一份默认的ClickHouse表转换到Hologres表的字段类型映射(如下表所示),您还可以单击右上角的编辑字段类型映射自定义字段类型映射。修改后单击应用并刷新映射

类别

ClickHouse

Hologres

日期

Date

Date

DateTime

TIMESTAMPTZ

DateTime(timezone)

TIMESTAMPTZ

DateTime64

TIMESTAMPTZ

数值

Int8

SMALLINT

Int16

SMALLINT

Int32

INTEGER

Int64

BIGINT

UInt8

INTEGER

UInt16

INTEGER

UInt32

BIGINT

UInt64

BIGINT

Float32

FLOAT

Float64

DOUBLE PRECISION

Decimal(P, S)

DECIMAL

Decimal32(S)

DECIMAL

Decimal64(S)

DECIMAL

Decimal128(S)

DECIMAL

布尔

无,使用UInt8代替。

BOOLEAN

字符

String

TEXT

步骤六:高级参数配置

您可以单击右上角的高级参数配置,对同步任务读端与写端进行精细化配置,例如最大连接数、离线任务限流相关参数。

步骤七:资源组配置

您可以在右上角的资源组配置处修改任务运行使用的独享数据集成资源组。

步骤八:执行同步任务

  1. 完成所有配置后,单击页面底部的完成配置

  2. 数据集成 > 同步任务界面,找到已创建的同步任务,单击操作列的启动

  3. 单击任务列表中对应任务的名称/ID,查看任务的详细执行过程。

同步任务运维

查看任务运行状态

创建完成同步任务后,您可以在同步任务页面查看当前已创建的同步任务列表及各个同步任务的基本信息。image

  • 您可以在操作列启动或停止同步任务,在更多中可以对同步任务进行编辑、查看详情等操作。

  • 已启动的任务您可以在执行概况中看到任务运行的基本情况,也可以单击对应的概况区域查看执行详情。执行详情

任务重跑

在某些特殊情况下,如果您需要增减表、修改目标表Schema信息或者表名信息时,您还可以单击同步任务操作列的重跑,系统会将新增的表或有变更的表进行同步,之前同步过的表或者未修改的表将不会再进行同步。