Apache Nifi 2.x 实战
需求场景
假定需要从数据库周期性的查询、统计一些数据,然后将查询结果数据保存到文件,如CSV文件。
概览
需要使用到4种处理器:
ExecuteSQL 2.2.0
负责周期性的执行SQL语句;注意Nifi执行SQL后,结果是保存为Flowfile格式的,其名称默认为uuid。需要更新filename属性。
UpdateAttribute 2.2.0
该处理器负责更新属性。需要点击+号,添加需要更新的属性,这里是filename。
ConvertRecord 2.2.0
负责将flowfile格式数据转换成CSV格式。注意这里需要定义2个Service,如下图所示:
- AvroReader 2.2.0 :负责读取flowfile文件的内容,Avro格式对象;
- CSVRecordSetWriter 2.2.0:负责将Avro对象的内容转换成CSV格式。
AvroReader无需特别配置,需要注意CSVRecordSetWriter的配置如下:
PutFile 2.2.0
将转换后的CSV内容写入到文件。