Flume基本使用--mysql数据输出

MySQL数据输出

在MySQL中建立数据库school,在数据库中建立表student。SQL语句如下:

create database school;
use school;
create table student(
        id   int not null,
        name   varchar(40),
        age   int,
        grade   int,
        primary   key(id)
);

请使用Flume实时捕捉MySQL数据库中的记录更新,一旦有新的记录生成,就捕获该记录并显示到控制台。可以使用如下SQL语句模拟MySQL数据库中的记录生成操作。


insert into   student(id,name,age,grade)value(1,'Xiaoming',23,98);

insert into   student(id,name,age,grade)value(2,'Zhangsan',24,96);

insert into   student(id,name,age,grade)value(3,'Lisi',24,93);

insert into   student(id,name,age,grade)value(4,'Wangwu',21,91);

insert into   student(id,name,age,grade)value(5,'Weiliu',21,91);

要求:

(1)给出配置文件

安装好flume-ng-sql-source-1.5.2.jar以及mysql-connector-java-8.0.23.jar

#设置名称
a1.sources=r1
a1.sinks=k1
a1.channels=c1

#配置Source
a1.sources.r1.type=org.keedio.flume.source.SQLSource
a1.sources.r1.hibernate.connection.url=jdbc:mysql://localhost:3306/school
a1.sources.r1.hibernate.connection.user=root
a1.sources.r1.hibernate.connection.password=123456
a1.sources.r1.hibernate.connection.autocommit=true
a1.sources.r1.table=student
a1.sources.r1.run.query.delay=5000
a1.sources.r1.status.file.path=C:/software/apache-flume-1.9.0-bin
a1.sources.r1.status.file.name=a1.status

#配置Sink
a1.sinks.k1.type=logger

#配置channels
a1.channels.c1.type=memory

#绑定sink source到channels上
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

(2)写出启动Flume的命令

新建一个cmd窗口,输入如下命令启动Flume:

> cd C:\apache-flume-1.9.0-bin

> .\bin\flume-ng agent --conf .\conf --conf-file .\conf\znconsole.conf --name a1 -property flume.root.logger=INFO,console

(3)在MySQL窗口中执行如下SQL语句,向数据库中插入记录后,在Flume窗口将运行结果展出来

建表,插入数据

Flume接收到数据,可以看到我在插入数据时还把自己的名字发过去了

  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能边缘探索记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值