ClickHouse - 使用flume同步oracle数据至clickhouse

本文详细介绍了如何使用Flume同步Oracle数据库中的数据到ClickHouse。包括Flume的安装、flume-ng-sql-source和flume-clickhouse-sink的打包改造、配置文件的创建和修改,以及同步的执行过程。在同步过程中,针对中文乱码问题进行了特殊处理。
摘要由CSDN通过智能技术生成

clickhouse在上一篇转载的博客中已初步介绍,最近在公司项目中,遇到了数据库大量数据查询慢的问题,借此来实战clickhouse,本文重点介绍数据同步。

接下来重点讲一下,使用flume同步oracle数据至clickhouse。

安装flume

1. 下载flume

wget http://www.apache.org/dist/flume/1.5.2/apache-flume-1.5.2-bin.tar.gz

2. 解压安装

tar zxvf apache-flume-1.5.2-bin.tar.gz


打包flume-ng-sql-source

1. 在github上下载源码

https://github.com/keedio/flume-ng-sql-source

2. 本地编译打包

(1)为了能正确同步到clickhouse,需修改代码,如图:

将默认分隔符由‘,’改为‘\t’;(不改的话,插入数据到clickhouse会报错)

(2)编译打包:mvn package -Dmaven.test.skip=true

(3)将打包的jar包flume-ng-sql-source-1.5.2.jar,上传至flume的lib目录下。


打包flume-clickhouse-sink

这个相对麻烦一些,网上没有详细的资料,我这里尽量详细叙述,有问题可以联系我。

1. 下载flume-ng-kafka-sink

https://github.com/camathieu/flume-ng-kafka-sink.git

这里为什么下载flume-ng-kafka-sink,主要作为参考,将项目中的kafka-sink改为clickhouse-sink。

2. 改造

(1)将org.apache.flume.sink.kafka包下的KafkaSink全部屏蔽。

(2)修改pom,如图:

内容如下:

<project xmlns=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值