本文以ClickHouse离线同步写入Hologres场景为例,为您介绍如何一次性把ClickHouse整个数据库的数据离线同步至Hologres。
使用限制
- ClickHouse离线同步仅支持阿里云ClickHouse 20.8、21.8版本。
- ClickHouse离线同步仅支持使用独享数据集成资源组。
准备独享数据集成资源组并与数据源网络连通
在进行数据同步前,需要完成您的独享数据集成资源组和数据源的网络连通,详情请参见配置网络连通。
- 如果您的独享数据集成资源组和数据源属于同一地域,可使用同地域VPC内网连通独享资源组和数据源。实现网络连通需要执行:
- 在DataWorks侧新增专有网络绑定和自定义路由。
- 在数据源侧添加数据库白名单。
- 如果您的独享数据集成资源组和数据源属于不同地域,可使用公网连通独享资源组和数据源。实现网络连通需要执行:在数据源侧添加数据库白名单。
步骤1 新增专有网络绑定和自定义路由
说明 如果您使用公网连通独享资源组和数据源,可跳过此步骤。
- 新增专有网络绑定。
- 添加自定义路由。说明 如果您在上述步骤中选择了数据源所在的可用区和交换机,可跳过此步骤。如果您选择了其他可用区和交换机,则需要参考以下指导进行自定义路由的操作。
步骤2 添加数据库白名单
- 获取需要绑定的白名单IP。
- 如果您使用VPC内网连通独享资源组和数据源,则白名单内填写的网段为独享资源组上专有网络绑定时选择的交换机所在网段。您可以在独享资源组列表页面单击网络设置按钮,在专有网络绑定页面找到交换机所在网段。
- 如果您使用公网连通独享资源组和数据源,则白名单为独享资源组的EIP地址。您可以在独享资源组列表页面单击查看信息按钮,获得EIP地址。
- 数据源绑定白名单。
添加数据源
新建ClickHouse数据源
在DataWorks数据源管理页面,单击新建数据源,根据界面提示手动添加ClickHouse数据源。配置要点如下。
说明 您可以进入ClickHouse产品控制台,找到您要进行数据同步的ClickHouse集群,在集群信息页面获取ClickHouse集群的外网地址、内网地址、Http端口号、Vswitch ID、可用区等。
- JDBC URL:格式为
jdbc:clickhouse://<ip>:<port>/<dbname>
,其中:<ip>
:需替换为您ClickHouse集群的内网地址或外网地址。- 如果您选择使用VPC内网连通独享资源组和ClickHouse,则此处填写ClickHouse内网地址。
- 如果您选择使用公网连通独享资源组和ClickHouse,则此处填写ClickHouse外网地址。
<port>
:需替换为您ClickHouse集群的HTTP端口号(通常为8123)。<dbname>
:需替换为您要同步的ClickHouse库名。
- 用户名、密码:为对应ClickHouse库有访问权限的用户名和密码。
- 测试连通性:选择您已经完成与ClickHouse网络连通的独享数据集成资源组,确保连通状态为可连通。说明 完成上述步骤中的网络连通后,仅可实现ClickHouse与对应独享数据集成资源组的网络连通。如您期望完成ClickHouse与数据服务资源组、调度资源组的网络连通,需分别进行网络连通的配置与连通测试。
新建Hologres数据源
可通过绑定Hologres计算引擎自动添加Hologres数据源,或者手动添加Hologres数据源。
创建同步任务
- 选择同步方案。创建同步解决方案任务,选择需要同步的源端数据源ClickHouse,目标端数据源Hologres,并选择整库离线同步方案。
- 配置网络连通。源端选择已创建的ClickHouse数据源,目标数据源为已创建的Hologres数据源,同步资源组选择已创建的独享数据集成资源组,单击测试所有连通性,待界面提示测试完成且所有连通状态均为网络连通,根据界面提示进行后续操作。
- 选择要同步的库表。您可根据在左侧选择同步的源表区域,选中ClickHouse中需要同步的源表,单击图标,将其移动右侧已选库表区域。
- 在目标表映射区域,全选目标表映射框中的表信息,单击批量刷新映射按钮。您还可以选中列表中的表信息,单击批量修改,配置如下信息。
配置项 描述 目标表字段赋值 支持为目标表添加常量,变量。 目标Schema名映射自定义 可以使用内置变量和手动输入的字符串拼接成为最终目标Schema名。其中,支持您编辑内置变量,例如,做字符串替换。 目标表名映射自定义 可以使用内置变量和手动输入的字符串拼接成为最终目标表名。其中,支持您编辑内置变量,例如,做字符串替换。 是否有主键 通过获取目标表的主键信息自动映射。 - 如果是可视化建表,则可以单击目标表名列的图标,编辑目标表结构选择主键,然后重新刷新表映射。
- 如果目标表有主键,则系统会使用新数据覆盖旧数据,整行所有列全部覆盖,没有配置列映射的字段会强制写NULL。
- 编辑字段类型映射。在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 - 高级参数配置。您可以单击右上角的高级参数配置,对同步任务读端与写端进行精细化配置,例如最大连接数、离线任务限流相关参数。
- 资源组配置。您可以在右上角的资源组配置处修改任务运行使用的独享数据集成资源组。
- 完成上述配置后,您可以单击完成配置,完成同步任务的创建。
执行同步任务
- 进入 界面,找到已创建的同步方案。
- 单击操作列的启动/提交执行按钮,启动同步的运行。
- 单击操作列的执行详情,查看任务的详细执行过程。
同步任务运维
查看任务运行状态
创建完成同步任务后,您可以在同步任务页面查看当前已创建的同步任务列表及各个同步任务的基本信息。
- 您可以在操作列启动或停止某个同步任务,在更多中可以对同步任务进行编辑、查看详情等操作。
- 已启动的任务您可以在执行概况中看到任务运行的基本情况,也可以单击对应的概况区域查看执行详情。