【学习任务】项目任务-在Flume中自定义Sink组件
我要参与
【学习任务】项目任务-在Flume中自定义Sink组件
学习任务 1.2k
等44人参与
来源: 第7周 / 大数据工程师

题目描述:

由于历史遗留问题,希望将Flume采集到的日志数据也同步保存到MySQL中一份,但是Flume目前不支持直接向MySQL中写数据,所以需要用到自定义Sink,自定义一个MySQLSink

日志数据默认在Linux本地的/data/soft/logs/user.log日志文件中,使用Flume采集到MySQL中到user表中。

user.log中的数据格式是这样的:字段之间使用逗号分割

​```
2020-01-01 01:10:23,tom,18,beijing
2020-01-01 01:12:09,jack,20,shanghai
2020-01-01 01:13:17,jessic,15,guangzhou
​```

MySQL中的`user`表结构信息如下:

​```
CREATE TABLE user  (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255),
  age int(11),
  city varchar(255),
  create_time datetime(0),
  PRIMARY KEY (id)
);
​```


效果:

最终可以在MySQL的user表中看到user.log中的数据

​```
mysql> select * from user;
+----+--------+-----+-----------+---------------------+
| id | name   | age | city      | create_time         |
+----+--------+-----+-----------+---------------------+
|  1 | tom    |  18 | beijing   | 2020-01-01 01:10:23 |
|  2 | jack   |  20 | shanghai  | 2020-01-01 01:12:09 |
|  3 | jessic |  15 | guangzhou | 2020-01-01 01:13:17 |
+----+--------+-----+-----------+---------------------+
3 rows in set (0.10 sec)
​```

任务要求:

1:在Flume中使用Exec Source+File Channel+MySQL Sink实现数据采集入库

任务提示、思路分析:

1:参考Flume中自定义Sink的文档(用户文档+开发者文档)以及系统内置KafkaSink的源码

去发布

登录后即可发布作业,立即

我的作业

全部作业

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师