介绍
该组件主要用于系统数据的输出,即将数据以哪种方式输出,它并不关心数据输出到哪里去,只关心数据如何输出。
内置输出
- SimpleOutput:简单的输出
BatchOutput:批量输出所需参数:
batchSize[必选]: 批量大小。n>0
TimeIntervalOutput:以设定时间间隔输出所需参数:
timeInterval[必选]: 时间间隔,当达到时间间隔, 无论设定大小是多少, 都进行批量输出。单位:秒
- TimeIntervalBatchOutput:时间间隔、批量组合输出所需参数:
batchSize[必选]: 批量大小,当达到设定大小, 无论定时是否执行, 都进行批量输出。n>0
timeInterval[必选]: 时间间隔,当达到时间间隔, 无论设定大小是多少, 都进行批量输出, 单位: 秒
- DataSizeOutput:数据字节量输出【暂未实现】
- TimeIntervalDataSizeOutput:时间间隔、数据字节量批量组合输出【暂未实现】
扩展输出
继承如下类:
com.starblues.rope.core.output.AbstractOutput
:简单的抽象输出。com.starblues.rope.core.output.AbstractCacheOutput
: 可缓存数据的抽象输出。用于多数据的输出,比如批量输出,定时输出。实现方法说明:
父类方法:
AbstractOutput:
super.writerWrappers:获取该输出所携带的写入者:
super.convertRecords(Writer writer, RecordWrapper recordWrapper): 封装了数据转换,主要是对数据的数据格式进行转换
super.write(WriterWrapper writerWrapper, OutputDataWrapper dataWrapper): 封装了数据写入到写入者中的实现
AbstractCacheOutput:
super.outputToWrite(): 封装所缓存的数据到写入者中。
公共实现:
id(): 定义该输出的id(全局输出唯一)
name(): 定义该输出的名称
describe(): 定义该输出的描述
initialize():初始化
configParameter():该输出所需参数
AbstractOutput:
output(RecordWrapper recordWrapper):输出该数据到写入者。参数:RecordWrapper 为记录的包装,通过:recordWrapper.getRecordGroup().getRecords() 可拿到要写入的数据集合
AbstractCacheOutput:
outputEvent():输出事件通知,每进入一组数据则,进行调用该方法一次。