Apahce Thrift是FaceBook实现的一种高效的、支持多种语言的远程服务调用的框架。Source是负责接收数据到Flume Agent的组件,可以从其他系统中接收数据。Flume有Java Thrift RPC客户端,是FLume SDK的一部分,Thrift Source是多线程,高性能的Thrift服务器,Flume的Thrift接口定义(IDL)语言如下:
namespace java org.apache.flume.thrift
struct ThriftFlumeEvent {
1: required map <string, string> headers,
2: required binary body,
}
enum Status {
OK,
FAILED,
ERROR,
UNKNOWN
}
service ThriftSourceProtocol {
Status append(1: ThriftFlumeEvent event),
Status appendBatch(1: list<ThriftFlumeEvent> events),
}
存放在在flume源码包apache-flume-1.7.0-src\flume-ng-sdk\src\main\thrift\flume.thrift
首先使用thrift文件生成客户端模块基础代码
thrift --gen py flume