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简介的更多相关文章

  1. Strom-7 Storm Trident 详细介绍

    一.概要 1.1 Storm(简介)      Storm是一个实时的可靠地分布式流计算框架.      具体就不多说了,举个例子,它的一个典型的大数据实时计算应用场景:从Kafka消息队列读取消息( ...

  2. ApacheCN 大数据译文集 20211206 更新

    PySpark 大数据分析实用指南 零.前言 一.安装 Pyspark 并设置您的开发环境 二.使用 RDD 将您的大数据带入 Spark 环境 三.Spark 笔记本的大数据清理和整理 四.将数据汇 ...

  3. 分布式流式处理框架:storm简介 + Storm术语解释

    简介: Storm是一个免费开源.分布式.高容错的实时计算系统.它与其他大数据解决方案的不同之处在于它的处理方式.Hadoop 在本质上是一个批处理系统,数据被引入 Hadoop 文件系统 (HDFS ...

  4. Storm流计算从入门到精通之技术篇(高并发策略、批处理事务、Trident精解、运维监控、企业场景)

    1.Storm全面.系统.深入讲解,采用最新的稳定版本Storm 0.9.0.1 :   2.注重实践,对较抽象难懂的技术点如Grouping策略.并发度及线程安全.批处理事务.DRPC.Storm ...

  5. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  6. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  7. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  8. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  9. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

随机推荐

  1. LeetCode -Reverse Pairs

    my solution: class Solution { public: int reversePairs(vector<int>& nums) { int length=num ...

  2. JS堆栈与拷贝

    一.堆栈的定义 1.栈是一种特殊的线性表.其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行. 结论:后进先出(Last In First Out),简称为LIFO线性表.栈的应用有:数制 ...

  3. 【Gradle】Gradle在IDEA中的使用

    新建项目 . Import Module from Gradle窗口选择 类别 含义 Use auto-import 是否开启自动导入,若开启修改gradle脚本文件后会自动检测变化并对项目进行刷新 ...

  4. 编写灵活、稳定、高质量的 css代码的规范

    语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 为选择器分组时,将单独的选择器单独放在一行. 为了代码的易读性,在每个声明块的左花括号前添加一个空格. 声 ...

  5. 一个DOS攻击木马的详细分析过程

    一个DOS攻击木马的详细分析过程 0×01 起因 网路流量里发现了大量的的1.exe的文件,而且一直在持续,第一感觉就像是一个木马程序,而且每个1.exe的MD5都不一样,对比发现只有几个字节不一样( ...

  6. android logger 日志工具

    https://github.com/orhanobut/logger 基础使用:https://blog.csdn.net/github_33304260/article/details/54799 ...

  7. Http协议的理解

    作者技术有限,这篇博文都是结合网上的文章和自己的理解而写的,若存在错误,请无私指出,十分感谢! 协议,就是一种标准,即大家都要遵守的标准. 举个简单的例子:在中国,几乎人人都会讲普通话,不同地区的人有 ...

  8. pycharm2018破解

    1.下载 链接:https://pan.baidu.com/s/1G0C9xoUQg6JRgNQYLMIi1w 密码:2z3x 2.修改 "G:\Python\JetBrains\PyCha ...

  9. 【Mysql sql inject】【入门篇】sqli-labs使用 part 3【15-17】

      Less-15- Blind- Boolian Based- String 1)工具用法: sqlmap -u --batch --technique BEST 2)手工注入 时间盲注放弃用手工了 ...

  10. 【转】Python中的eval()、exec()及其相关函数

    [转]Python中的eval().exec()及其相关函数 刚好前些天有人提到eval()与exec()这两个函数,所以就翻了下Python的文档.这里就来简单说一下这两个函数以及与它们相关的几个函 ...