首页 > 其他分享 >storm分布式实时计算四

storm分布式实时计算四

时间:2024-05-21 13:20:28浏览次数:19  
标签:function tuple Trident 接口 实时 storm new topology 分布式

Trident

Trident在storm之前提供了高层次抽象,抽象掉了事务处理和状态管理的细节,允许topology在数据上执行函数功能、过滤、聚合操作。

Trident topology

TridentTopology类替换原有的TopologyBuilder。

TridentTopology tridentTopology = new TridentTopology();
Stream stream = tridentTopology.newStream("event", new SentenceSpout());

tridentTopology.each

Trident spout

spout业务类实现ITridentSpout接口。

getCoordinator:返回定义的spout对象,SpoutOutputCollector collector,,返回的对象对应的类要实现BatchCoordinator接口。BatchCoordinator接口用于重放一个batch所需要的元数据。

getEmitter:返回指定的emitter对象,返回的对象对应的类要实现Emitter接口。Emitter接口用于将tuple发送出去。

getComponent:

getOutputFields:定义发送的fields,例如new Fields("event"),

Trident 操作

trident提供 filter与function两种运算。

filter:过滤指定的tuple。

function:与bolt类似,读取tuple并且发送新的tuple,不过function只能添加数据,function在发送数据时,将新字段添加到tuple中,并不会删除或者变更已有字段。

Trident 聚合

aggregator聚合器运行topology组合tuple。

combinerAggregator:用于将一个集合的tuple组合到一个单独的字段中。

reducerAggregator:将tuple合并到局部聚合结果中。

Aggregator:与function接口的excute方法类型,将值进行累加。

Trident状态

State接口,支持Trident对状态进行底层的操作源语。

 

标签:function,tuple,Trident,接口,实时,storm,new,topology,分布式
From: https://www.cnblogs.com/use-D/p/18203773

相关文章

  • storm分布式实时计算三
    storm集群storm集群为主从集群结构。主从结构中因为引入了单独故障的风险。storm集群由一个主节点(nimbus)和一个或者多个从节点(supervisor)组成。nimbus负责管理、协调、监控在集群上运行topology。包括发布、任务指派、事件处理失败时重新指派任务。记录所有supervisor节点的......
  • storm分布式实时计算二
    storm并发控制storm计算支持在多台机器上水平扩容,通过将计算切分未多个多里的task再集群上并发执行来实现。在storm中,一个task可以简单的理解为在集群某个节点上运行的一个spout或者bolt实例。Node:storm集群下的多个服务器。workers:一个node下的多个JVM(worker),一个topology会分......
  • storm分布式实时计算一
    核心概念topology拓扑组成storm分布式计算结构称为topology拓扑,由stream(数据流)、spout(数据流生成者)、bolt(运算)组成。tuplestorm的核心数据结构是tuple,tuple中包含了一个或者多个键值对的列表。Stream由无限制的tuple组成的序列。spoutspout代表数据入口,充当采集器的角色,链......
  • jmeter分布式压测(Linux版本)
    1、安装JDK并配置环境变量(此处不再赘述)2、将Jmeter上传到任意目录解压(此处不再赘述)3、配置环境变量vi/etc/profile将光标移动到最底部,插入下面的内容,exportJMETER_HOME=/home/apache-jmeter-5.1.1  #jmeter的安装目录exportCLASSPATH=$JMETER_HOME/lib/ext/ApacheJMet......
  • JavaWeb分布式事务处理
    哈喽,大家好,我是木头左!一、分布式事务的概念与特性在开始之前,首先需要理解什么是分布式事务以及其特性。将从最基础的定义和特性开始,逐步深入到其在实际应用中的表现和影响。1.1分布式事务的概念分布式事务是指跨越多个独立的计算机资源(如数据库、应用服务器等)的一组事务的......
  • 架构与思维:4大主流分布式算法介绍(图文并茂、算法拆解)
    0导读之前的文章中,我们介绍过分布式事务的基础知识,也了解了分布式场景下常见一致性问题和解决方案,对分布式锁和CAS模式有一定的了解,有兴趣的同学可以通过下面链接到作者的两篇相关文章。五种分布式事务解决方案(图文总结)高并发下的数据一致性保障(图文全面总结)1介绍本文聚......
  • 阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
    主要实现思路1、在clickhouse中创建MySQL引擎表。2、根据MySQL引擎表的信息创建目标表。3、实现canal实时增量同步MySQL数据到clickhouse。MySQL的准备修改配置文件开启Binlog[root@hadoop100module]$sudovim/etc/my.cnfserver-id=1log-bin=mysql-binbinlog_form......
  • Hadoop集群模式的搭建之三:搭建Hadoop完全分布式集群
    Hadoop可以按如下3种模式进行安装和运行。(1)单机模式:Hadoop的默认模式,安装时不需要修改配置文件(2)伪分布式模式:Hadoop安装在一台计算机上,需要修改相应的配置文件,用一台计算机模拟多台主机的集群。(3)完全分布式模式:在多台计算机上安装JDK和Hadoop,组成相互连通的集群,需要修改相应的......
  • dremio 分布式存储docker配置简单说明
    对于dremio分布式存储的配置我们直接修改配置文件,当然基于环境变量参考配置dremio:platform:linux/x86_64image:dremio/dremio-oss:latestports:-9047:9047-31010:31010-32010:32010container_name:dr......
  • 分布式数据处理-《Spark编程基础》(Scala版)第二章简答题答案(自制)
    2Scala语言基础简答题T1简述Scala语言与Java语言的联系与区别。答:①联系:(1)Scala和Java均运行在JVM之上;(2)Scala和Java均有面向对象语言特点;②区别:(1)Scala是类Java的多范式编程;Java是命令式编程。T2简述Scala语言的基本特性。......