datax同步postgre到clickhouse
支持clickhousewriter的datax压缩包提取连接
由于datax的master分支并不能支持clickhouse,fork版本
https://github.com/kuangye098/DataX
只能自己打包,而我对maven知之甚少,在打包时出现了
https://github.com/alibaba/DataX/issues/82
所以问clickhouse社区好哥哥要了一个打包好的压缩包,已经放到了百度网盘,一个G多一点
链接:https://pan.baidu.com/s/18DRihMXtf5IfQG4TIo-Crg
提取码:qdyu
使用
将压缩文件解压到服务器后
cd ./bin
touch test.json
后在test.json中添加
{
"job": {
"content": [
{
"reader": {
"name": "postgresqlreader",
"parameter": {
"connection": [ {
"jdbcUrl": ["jdbc:postgresql://xxx.xxx.xxx.xxx:5432/xxx"],
"querySql": ["select * from xxxx;"]}
],
"username": "xxx",
"password": "xxx"
}
},
"writer": {
"name": "clickhousewriter",
"parameter": {
"username": "default",
"password": "xxx",
"column":["*"],
"connection": [
{
"jdbcUrl": "jdbc:clickhouse://xxxx:8123/default",
"table":["xxxx"]
}
]
}
}
}
],
"setting": {
"speed": {
"channel":1
}
}
}
}
之后执行
python datax.py test.json
注意这里的python版本应该是2.7+,如果是ubuntu可以直接使用自带的2.7
出现
说明插入成功,注意如果你再次执行此命令会将数据源表的数据再次插入目标表,出现数据重复,所以建议增量插入时在获取的SQL中使用where子句,或者更直接点,使用datax配置中的preSql,将原来的目标表delete或者truncate。