Trident operations
As we discussed earlier, Trident operations are Storm bolt implementation. We have a vast range of operations available in Trident. They can perform complex operations and aggregate with cache in memory. The following are operations available with Trident.
Functions
The following are characteristics of functions:
- Class has to extend
BaseFunction
- This is a partition of the local operation that means no network transfer is involved and is applied to each batch partition independently
- It takes a set of inputs and emits zero or more output
- In output, it emits an output tuple including the original input tuple
Here is the example:
class PerformDiffFunction extends BaseFunction { @Override public void execute(TridentTuple tuple, TridentCollector collector) { int number1 = tuple.getInteger(0); int number2 = tuple.getInteger(1); if(number2>number1){ collector.emit(new Values(number2-number1)); } } }
Input:
[1,2] [3,4] [7,3]
Output:
[1,2,1] [3,4,1]