storm trident一些总结

可以在创建topology的时候设置超时时间
setMessagetimeout默认时间是三十秒


链式调用 each 用于指定对stream中的每一个tuple进行指定的操作,需要指定tuple那些tuple操作;
对trident的操作要考虑是否跨网络传输,是否跨分区
filter过滤操作,只是判断某个tuple是否保留,无需夸网络和分区
each 指定传到操作中只是tuple的 子集(某一部分keyavlue),each操作没有改变tuple的结构,只是改变了tuple的数量;


Function()经过这个之后,tuple原来的key不会变,会增加一些新的key;
⚠️:tuple本身是不可变的,原来的tuple没有变,只是产生了一个新的tuple;

  public void execute(TridentTuple tuple, TridentCollector collector) {
     collector.emit(new Values(orderId, orderTime, orderAmtStr, memberId));

如果前面的被处理的字段已经解析了,后面的不需要使用,原来的不需要继续传递,可以修剪key - value
可以使用投影操作,project
经过这个操作以后,就会改变tuple结构


persistentAggregate全局聚合,部分删除,部分增加,删除的是除groupy 之外的字段,增加的是聚合之后的字段。


partitionAggregate局部分区,加上过滤器链,就可以重新转换为流
这里写图片描述


如果对于同一个流有不同的操作,可以创建一个局部流,然后分别对局部流操作即可。


这里写图片描述
在分布式环境下,先进行局部的聚合在全局聚合,可以降低网络的传输。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值