batch-storm 事务处理(BaseBatchBolt)的并行度

问题描述

storm 事务处理(BaseBatchBolt)的并行度

我建立了一个批处理的bolt,StatisticBolt extends BaseBatchBolt,设置其并行度为2,
在其中的exceute 和finishBathc方法中打印了batchId和this.hashCode,发现对于每一个
batch,finishBatch会被调用两次,其中一个其实未收到任何的tuple,而且对于对于每一个
batch,hashCode都会不同(标准的BaseBasicBolt则所有batch都相同)。所有请问,storm对于BatchBolt的并行度是如何处理的呢? 每次处理batch的batchbolt对象(是否是对象)是如何生成的呢?

解决方案

没人回答啊。。。。。。。。。。

时间: 2024-09-05 17:11:52

batch-storm 事务处理(BaseBatchBolt)的并行度的相关文章

storm 问题求助求解答,谢谢

问题描述 storm事务处理(BaseBatchBolt)的并行度问题事务处理storm-batch-boltboltbatch我建立了一个批处理的bolt,StatisticBoltextendsBaseBatchBolt,设置其并行度为2,在其中的exceute和finishBathc方法中打印了batchId和this.hashCode,发现对于每一个batch,finishBatch会被调用两次,其中一个其实未收到任何的tuple,而且对于对于每一个batch,hashCode都会不同(

Apache Storm 官方文档 —— 理解 Storm 拓扑的并行度(parallelism)概念

原文链接    译者:魏勇 一个运行中的拓扑是由什么构成的:工作进程(worker processes),执行器(executors)和任务(tasks) 在一个 Storm 集群中,Storm 主要通过以下三个部件来运行拓扑: 工作进程(worker processes) 执行器(executors) 任务(tasks) 在 Worker 中运行的是拓扑的一个子集.一个 worker 进程是从属于某一个特定的拓扑的,在 worker 进程中会运行一个或者多个与拓扑中的组件相关联的 execut

Storm Trident 详解

英文原址:https://github.com/nathanmarz/storm/wiki/Trident-tutorial ---------------- Trident是在storm基础上,一个以realtime 计算为目标的高度抽象. 它在提供处理大吞吐量数据能力的同时,也提供了低延时分布式查询和有状态流式处理的能力. 如果你对Pig和Cascading这种高级批量处理工具很了解的话,那么应该毕竟容易理解Trident,因为他们之间很多的概念和思想都是类似的.Tident提供了 join

Storm Trident API 实践

一.概要      1.1 Storm(简介)      Storm是一个实时的可靠地分布式流计算框架.      具体就不多说了,举个例子,它的一个典型的大数据实时计算应用场景:从Kafka消息队列读取消息(可以是logs,clicks,sensor data).通过Storm对消息进行计算聚合等预处理.把处理结果持久化到NoSQL数据库或者HDFS做进一步深入分析. 1.2 Trident(简介)      Trident是对Storm的更高一层的抽象,除了提供一套简单易用的流数据处理API

《Storm分布式实时计算模式》——3.3 Trident spout

3.3 Trident spout 让我们先来看topology中的spout.和Storm相比,Trident引入了"数据批次"(batch)的概念.不像Storm的spout,Trident spout必须成批地发送tuple. 每个batch会分配一个唯一的事务标识符.spout基于约定决定batch的组成方式.spout有三种约定:非事务型(non-transactional).事务型(transactional).非透明型(opaque). 非事务型spout对batch的组

Storm - Transactional-topologies

Storm guarantees data processing by providing an at least once processing guarantee. The most common question asked about Storm is "Given that tuples can be replayed, how do you do things like counting on top of Storm? Won't you overcount?" Stor

Apache Storm 官方文档 —— FAQ

Storm 最佳实践 关于配置 Storm + Trident 的建议 worker 的数量最好是服务器数量的倍数:topology 的总并发度(parallelism)最好是 worker 数量的倍数:Kafka 的分区数(partitions)最好是 Spout(特指 KafkaSpout)并发度的倍数 在每个机器(supervisor)上每个拓扑应用只配置一个 worker 在拓扑最开始运行的时候设置使用较少的大聚合器,并且最好是每个 worker 进程分配一个 使用独立的调度器(sche

Apache Storm 官方文档 —— Trident API 概述

Trident 的核心数据模型是"流"(Stream),不过与普通的拓扑不同的是,这里的流是作为一连串 batch 来处理的.流是分布在集群中的不同节点上运行的,并且对流的操作也是在流的各个 partition 上并行运行的. Trident 中有 5 类操作: 针对每个小分区(partition)的本地操作,这类操作不会产生网络数据传输: 针对一个数据流的重新分区操作,这类操作不会改变数据流中的内容,但是会产生一定的网络传输: 通过网络数据传输进行的聚合操作: 针对数据流的分组操作:

Storm专题二:Storm Trident API 使用详解

一.概述      Storm Trident中的核心数据模型就是"Stream",也就是说,Storm Trident处理的是Stream,但是实际上Stream是被成批处理的,Stream被切分成一个个的Batch分布到集群中,所有应用在Stream上的函数最终会应用到每个节点的Batch中,实现并行计算,具体如下图所示:       在Trident中有五种操作类型: Apply Locally:本地操作,所有操作应用在本地节点数据上,不会产生网络传输      Repartit