Flume中常见的source源类型有哪些

2020-06-05 11:22发布

2条回答
上来打杂的
2021-12-18 10:07

1、Avro 类型的Source:

监听Avro 端口来接收外部avro客户端的事件流。avro-source接收到的是经过avro序列化后的数据,然后 反序列化数据继续传输。所以,如果是avro-source的话,源数据必须是经过avro序列化后的数据。利用 Avro source可以实现多级流动、扇出流、扇入流等效果。接收通过flume提供的avro客户端发送的日 志信息。

2、Exec类型的Source:

可以将命令产生的输出作为源

a1.sources.r1.command=ping 192.168.234.163  要执行的命令

3、Taildir Source

监控指定的多个文件,一旦文件内有新写入的数据,就会将其写入到指定的sink内,本来源可靠性高,不会丢失数据,建议使用;但目前不适用于Windows系统;其不会对于跟踪的文件有任何处理,不会重命名也不会删除,不会做任何修改,这点比Spooling Source有优势;目前不支持读取二进制文件,支持一行一行的读取文本文件;在实时数据处理中,可以用该方式取代Exec方式,因为本方式可靠性高。

4、Spooling Directory类型的 Source:

将指定的文件加入到“自动搜集”目录中。flume会持续监听这个目录,把文件当做source来处理。注意:一旦文件被放到“自动收集”目录中后,便不能修改,如果修改,flume会报错。此外,也不能有重名的文件,如果有,flume也会报错。

a1.sources.r1.spoolDir=/home/work/data 读取文件的路径,即"搜集目录"

5、NetCat Source:

一个NetCat Source用来监听一个指定端口,并接收监听到的数据。

6、Kafka Source

支持从Kafka指定的topic中读取数据。

7、Sequence Generator Source --序列发生源:

一个简单的序列发生器,不断的产生事件,值是从0开始每次递增1。主要用来测试。



一周热门 更多>