1. 简介
Storm作为流式计算框架,提供了spout和bolt接口,我们自己实现接口,然后将spout和bolt组合成topology,就构成了一个流的处理过程。
Trident 是Storm的上层封装,提供更加上层的操作方法和接口,提供基于状态的操作。多数情况下,我们实际接触的是Trident
Trident API的介绍原文:http://storm.apache.org/releases/1.0.2/Trident-API-Overview.html
2. 概念回顾
- 每一条数据是一个Tuple;
- Trident会将Tuple合并成Batch;
- 每条流在集群中处理时,被分成多个分区;
2. API
Trident提供的API,有的是接口,实际应用时,需要根据业务逻辑去实现这些接口。同时也有的是方法,可以直接拿来用。
定义topology时,看起来更像是方法的调用链。
2.1 基础API
API | 说明 | 是否能跨分区 | |
---|---|---|---|
Functions | 自定义处理方法,作用于每个tuple | 否 | |
Filters | 过滤器,过滤tuple | 否 | |
map & flatMap | 1进1出 和 1进N出的处理方法 | 否 | |
peek | 接收流数据,但不改变流 | 否 | |