Flume整合mysql碰到的自定义source表名问题

之前项目中碰到了一些关于flume采集的问题,把一些解决方法介绍一下,用于针对不同需求的采集需求。我所碰到的问题是flume采集mysql中数据的时候,表名不唯一的问题,我们常用flume-sql-source.jar的时候,在配置文件里面会加上 a3.sources.src-1.table=表名 ,这个表名不能更改,比如说每天采集的表名不是一样的,那每天都需要改这里的配置表名,而常用的%y%m%d这种配置是适配不出来每天的日期,因为这个配置会在flume-sql-source中按字符串读进去,并不能适配像shell脚本的匹配日期那样,碰到这种问题,无非是从flume-sql-source入手,更改它读取table字段的方式,制作一个满足特定需求的依赖即可,不用自己再写一个自定义source那么麻烦。

(1)首先查看一下flume-sql-source.jar中的内容,找到读取配置文件并赋值的类的位置,这里我找到位置在org.keedio.flume.source.SQLSourceHelper类中构造方法里面

public SQLSourceHelper(Context context, String sourceName) {
        this.statusFilePath = context.getString("status.file.path", "/var/lib/flume");
        this.statusFileName = context.getString("status.file.name");
        this.connectionURL = context.getString("connection.url");
        this.table=context
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值