Java小白必学:基于Apache Storm Trident实时计算开发!

1. 概述 Apache Storm是一个经典的分布式流式计算编程框架,但编写程序比较麻烦。通常,一个基本的基于Storm的流式计算程序需要有以下几个部分:一个Spout、若干个Bolt、一个Topology。Spout和Bolt程序编写,以及Topology的编排不是太友好。今天,我要介绍的是,基于Storm的更高层次的抽象——Trident。它的API要比Storm更加简洁,而且支持迭代计算,不需要反复的创建Bolt来进行操作。
2. 主要内容
2.1 Trident程序架构

简单解释下上图:
1. TridentSpout负责读取数据源,并将数据以batch为基本单位,发射到下游,一个batch包含若干个tuple
2.每一个Trident的Stream操作都是针对一个batch来进行操作的,同时一些Stream操作需要实现特定的接口来自定义计算方式,并且需要在Stream操作中定义输入和输出的Field字段名。Stream操作可以将一个batch转换为另外一个batch(其实内部是tuple转换成另外一个tuple)
3.groupBy操作,groupBy操作会将指定字段的相同的tuple放到一个组里,方便后边的聚合算子(aggregate)进行计算,这个操作对tuple的结构并不会有影响

推荐学习:

Java从零基础到独立编写游戏项目
视频http://yun.itheima.com/course/822.html?stt
资料https://pan.baidu.com/s/1Wj84qmt0sJe1vUtjm5rWtA 
提取码:aaf8 

2.2 Trident程序设计
编写基于Storm Trident的程序,可以参考以下几个步骤:
① 创建一个TridentTopologyTridentTopology是Trident自己封装的流式拓扑结构抽象,它可以以链式操作的方式组织流式计算的具体步骤,语法结构对比Storm要更加简单。按照链式操作,将整个流式计算的过程简洁地描述出来。

②Trident对Spout有自己的封装&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值