flume组件主要包含三部分
source:从各个地方收集数据
channel:聚集,相当于临时数据存放的地方。因为数据来的时候,不可能来一条便写一次,那样效率太低,而是先把数据放在通道里,等通道满了再写入
sink:输出,HDFS sink,HIVE sink,等等,写到hdfs等地方。等于是把channel里的数据读取出来,写到hdfs里面
sink不仅可以将数据写到hdfs里面,还可以被另一个agent所source,即一个agent的输出作为另一个agent的输入,像链子一样。
而且还可以将多个agent的数据sink到同一个agent里面
同理,一个agent也可以sink到多个地方里面
所以一个数据源,可以到好多个channel里面,还可以sink到不同地方去。