Flume初步理解
我们知道光是hadoop来说,是处理死数据的,也就是下载好的文件上传到hdfs中,但是它对大量小文件的上传并不友好,尤其是做不了流式数据上传,这就导致我们在要处理当天不断进入的数据时,十分不便。此时学习Flume,将流式数据文件不断导入hdfs中,猜测主要作用是与hive合用,将导入的数据直接导入hive中数据库的表所在目录。并且,flume只能穿日志文件,不传图像视频
Flume基础架构
可见,flume更像是一个服务端,java端拿到数据后作为客户端将数据通过flume不断的,流式的储存到了hdfs中
可以将flume的架构分为以下三点
1.source [ sɔːrs ]
个人理解为进入形式,也就是数据将通过怎样的一种形式进入,比较常用的为Taildr Source(可以断点续传,优化很好)
2.channel [ 'tʃænl ]
通道,也就是source在将文件传给Sink时的临时缓冲区,分为内存和落盘两种形式,如果在内存中,agent挂掉的话有可能会丢失数据
3.Sink [ sɪŋk ]
出水口