了解apacheflume中avro的连接和转换

d5vmydt9  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(255)

我在学习ApacheFlume,但有几件事我不懂。当源/接收器类型为avro时,这是否意味着事件以avro格式发送?
也就是说,我的数据被封装到flume事件中,并以avro格式从接收器发送到源。文件上说:
flume事件被定义为具有字节负载和可选字符串属性集的数据流单元。flume代理是一个(jvm)进程,它托管组件,事件通过该组件从外部源流到下一个目标(hop)。
这是否意味着在流的顶部有一个avro源或在流的末端有一个avro汇是没有意义的?
这是否意味着只有当avro源首先出现时才有avro接收器才有意义(然后只有avro接收器之后才有avro源)?
谢谢你的回答。

pes8fvy9

pes8fvy91#

有一个avro源,然后它打开一个设计用来接受avro字节的网络端口。
您发送到其中的数据应该已经是avro,它不会为您转换。
另一方面,sink采用内部“flume event”对象结构,并将转换为avro格式。avrosink需要连接一个网络端口,这个端口恰好支持由avro源启动的服务器的输入格式。
https://flume.apache.org/flumeuserguide.html#setting-多智能体流
如果您想使用不同类型的源代码并在运行时转换为avro,那么可以使用morphine拦截器或avro事件序列化程序

相关问题