flume官网:http://flume.apache.org/
为什么选用flume呢?
无论是爬虫过来的数据还是java后台日志都是存储在本地磁盘的。
java后台日志数据:实时产生,动态往里面追加的,过了一天,自动在文件夹后面加上日期为后缀名,可以使用hadoop使用-put命令上传数据到HDFS,但是只有等一天之后才能上传。不可能晚上定个闹钟起床-put很麻烦。写一个定时脚本,定时任务,12:30分的时候,防止数据延迟。12:30开始到数据,延迟半小时,需要等到第二天导入这个数据,会出现的问题就是:实时性,数据是实时产生的,过了一天才将数据导过来,之后还需要进行数据分析,加载到hive表,或者使用spark进行离线分析,这时候分析完就到了早上,最后的结果就是,头一天浏览的东西到了第二天第三天才会出现推荐,这种实时性很差。所以说,隔一天才去上传出去不靠谱。需要中间组件实时读取数据上传到HDFS,实时地做这个事情。
有些公司把数据写到某个端口里面,或者数据会放到服务器本地磁盘,而flume都可以监测到这两种数据来源
,既可以获取服务器文件夹的数据而且可以监控变化的数据,也可以监测端口中的数据,之后写到HDFS,更多用来离线分析
Flume相当于做了一个中间件,实时地做数据的传输,最主要的作用: