clickhouse读oracle数据,DataX的Clickhouse读写插件

本文档详细介绍了如何使用DataX的ClickHouseReader插件从ClickHouse读取数据,以及如何配置数据同步任务。内容涵盖快速介绍、实现原理、功能说明、参数配置、类型转换和性能报告,提供了从ClickHouse到本地的全量和增量数据同步示例配置。此外,还提及了ClickHouseWriter的配置和性能测试,为数据迁移提供参考。
摘要由CSDN通过智能技术生成

编辑

此处为开源.

帮助改进.

作者:一剑飘雪

ClickHouseReader 插件文档

1 快速介绍

ClickHouseReader插件实现了从ClickHouse读取数据。在底层实现上,ClickHouseReader通过JDBC连接远程ClickHouse数据库,并执行相应的sql语句将数据从ClickHouse库中SELECT出来。

不同于其他关系型数据库,ClickHouseReader不支持FetchSize.(截止ClickHouse-jdbc版本0.1.48为止)

2 实现原理

简而言之,ClickHouseReader通过JDBC连接器连接到远程的ClickHouse数据库,并根据用户配置的信息生成查询SELECT SQL语句,然后发送到远程ClickHouse数据库,并将该SQL执行返回结果使用DataX自定义的数据类型拼装为抽象的数据集,并传递给下游Writer处理。

对于用户配置Table、Column、Where的信息,ClickHouseReader将其拼接为SQL语句发送到ClickHouse数据库;对于用户配置querySql信息,ClickHouseReader直接将其发送到ClickHouse数据库。

3 功能说明

3.1 配置样例

配置一个从ClickHouse数据库同步抽取数据到本地的作业:

{

"job": {

"setting": {

"speed": {

"channel": 3

},

"errorLimit": {

"record": 0,

"percentage": 0.02

}

},

"content": [

{

"reader": {

"name": "clickhousereader",

"parameter": {

"username": "root",

"password": "root",

"column": [

"id",

"name"

],

"splitPk": "db_id",

"connection": [

{

"table": [

"table"

],

"jdbcUrl": [

"jdbc:clickhouse://127.0.0.1:8123/default"

]

}

]

}

},

"writer": {

"name": "streamwriter",

"parameter": {

"print":true

}

}

}

]

}

}

配置一个自定义SQL的数据库同步任务到本地内容的作业:

{

"job": {

"setting": {

"speed": {

"channel":1

}

},

"content": [

{

"reader": {

"name": "clickhousereader",

"parameter": {

"username": "root",

"password": "root",

"connection": [

{

"querySql": [

"select db_id,on_line_flag from db_info where db_id < 10;"

],

"jdbcUrl": [

"jdbc:clickhouse://127.0.0.1:8123/default"

]

}

]

}

},

"writer": {

"name": "streamwriter",

"parameter": {

"print": false,

"encoding": "UTF-8"

}

}

}

]

}

}

3.2 参数说明

jdbcUrl

描述:描述的是到对端数据库的JDBC连接信息,使用JSON的数组描述,并支持一个库填写多个连接地址。之所以使用JSON数组描述连接信息,是因为阿里集团内部支持多个IP探测,如果配置了多个,ClickHouseReader可以依次探测ip的可连接性,直到选择一个合法的IP。如果全部连接失败,ClickHouseReader报错。 注意,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值