storm 批处理以及TickTuple窗口

本文介绍了Storm作为实时分布式流计算框架的批处理策略,包括Trident API、Storm窗口(Tumbling Window和Sliding Window)以及使用TickTuple实现定时批处理。Trident提供批处理功能,而Storm的窗口机制支持按时间或数量聚合数据。TickTuple允许用户自定义周期性任务,确保每秒精确触发,适用于实现基于时间的批处理操作。
摘要由CSDN通过智能技术生成

一、Storm
Storm是一个实时的可靠地分布式流计算框架。一个典型的大数据实时计算应用场景:从Kafka消息队列读取消息(可以是logs,clicks,sensor data);通过Storm对消息进行计算聚合等预处理;把处理结果持久化到数据库或者HDFS做进一步深入分析。 Storm中分为Topology开发和Trident开发,Trident是一种高度抽象的实时计算模型,是一种有状态的流式处理框架,而Topology是一种无状态流式处理框架。

Topology特点:
无状态
低延迟
开启ack后保证tuple至少一次处理
Trident特点:
有状态
批处理
提供有且只有一次的处理语义
选择策略:
若需要有且只有一次的批处理统计则选择Trident,其他情况使用Topology即可满足。

二、批处理策略
对消息预聚合时,通常是将多个tuple的计算结果存储到数据库中,即批处理的概念。使用Storm来进行批处理大概有三种方案:Trident API、Storm windowing、自定义批处理 (如利用TickTuple)。

  1. Trident API
    1.1 基本概念
    Trident从概念上就是以Batch为处理单元,是天然的批处理方案。Tident提供了 joins(数据流融合), aggregations(聚合), grouping(分组), functions(自定义函数), 以及 filters(过滤)等功能。除此之外,Trident 还提供了一些专门的原语,从而在基于数据库或者其他存储的前提下来应付有状态的递增式处理。但由于存储了状态信息,性能相比Topology有所下降。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值