首页 » 技术分享 » Trident简介

Trident简介

 

1.引入

  0.7版本:多条记录封装成批量,引入事务控制。

  0.9版本:丢弃事务API,开始基于Storm之上的框架。

  

 

2.介绍

  

 

3.批次划分与事务实现

  

 

二:事务管理

4.事务处理机制

  不透明事务:增加了容错机制。

  

 

5.Spout的API

  Spout保留

  Bolt没有,将原有的Storm写在Bolt中的逻辑,抽象封装成一系列的API。

  操作:

    Filter,Function,Aggregate

  功能:

    从数据源采集数据

    对数据进行简单的处理

    封装成tuple,将多个tuple组装成一个个批次,并且给每一个批次一个事务ID

    重试机制,事务控制级别

  

 

6.完全事务Spout

  

 

7.不透明事务Spout

  

 

8.非事务Spout

  

 

9.自定义实现Spout

  

 

三:状态管理

1. 存储状态

  内存

  数据库存储

 

2.不透明事务状态管理

  存储三个值:

    之前的批次,结果值,当前批次

 

3.完全事务状态管理

  存储两个值:

    结果值,当前批次

 

4.非事务状态管理

  只存一个值:

    结果值

 

5.Spount与State组合使用关系

  Spout决定失败的Tuple是如何重试,三种事务级别的重试

  State决定如何批次更新结果

  

 

四:编程开发

1.操作

  Mareduce中的分区:Reduce

  Storm分区:Task执行线程

  局部聚合:只在一个批次内进行聚合操作

  全局聚合:从topology启动开始,一直累计操作,一个批次一个批次进行累计

  全局聚合需要状态管理,以前的加上当前的状态。

  

 

转载自原文链接, 如需删除请联系管理员。

原文链接:Trident简介,转载请注明来源!

0