Sink不断地轮询Channel中的事件且批量地移除它们并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。
Sink是完全事务性的在从Channel批量删除数据之前,每个Sink用Channel启动一个事務批量事件一旦成功写出到存储系统或下一个Flume Agent,Sink就利用Channel提交事务事务一旦被提交,该Channel从自己的内部缓冲区删除事件
Sink组件目的地包括hdfs、logger、avro、thrift、ipc、file、null、HBase、solr、自定义。官方提供的Sink类型已经很多但是有时候并不能满足实际开发当中的需求,此时我们就需要根据实际需求自定義某些Sink
官方也提供了自定义source的接口:
使用场景:读取Channel数据写入MySQL或者其他文件系统。
使用flume接收数据并在Sink端给每条数据添加前缀和后缀,輸出到控制台前后缀可在flume任务配置文件中配置。