自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 storm代码阅读(十三)

2021SC@SDUSCstorm代码阅读(十三)2021SC@SDUSCStream Groupings部分阅读storm代码阅读(十三)Stream GroupingsFieldGroupingShuffle groupingStream GroupingsStream Grouping定义了一个流在Bolt任务间该如何被切分。 这里有storm提供的9个Stream Grouping类型1、shuffleGrouping(随机分组)随机分发tuple到Bolt的任务,保证每个任务获得相等

2021-12-22 22:05:42 251

原创 storm代码阅读(十二)

2021SC@SDUSCstorm代码阅读(十二)2021SC@SDUSCTask部分阅读(七)storm代码阅读(十二)Storm中传输的消息及序列化反序列化Storm中传输的消息及序列化下面将介绍Storm如何对消息进行序列化并分析实际的传输内容。KryoTupleSerializer类用于实现消息的序列化。代码如下:public class KryoTupleSerializer implements ITupleSerializer { private KryoValuesS

2021-12-14 00:23:47 1409

原创 storm代码阅读(十一)

2021SC@SDUSCstorm代码阅读(十一)2021SC@SDUSCTask部分阅读(六)storm代码阅读(十一)send-unanchored创建Tasksend-unanchored创建Task

2021-12-07 23:54:22 106

原创 storm代码阅读(十)

2021SC@SDUSCstorm代码阅读(十)2021SC@SDUSCTask部分阅读(五)mk-tasks-fn函数mk-tasks-fn函数将返回一个函数tasks-fn,tasks-fn函数可根据要发送的消息获取消息的接收端TaskId集合。mk-tasks-fn函数代码如下:1 (defn mk-tasks-fn [task-data]2 (let [task-id (:task-id task-data)3 executor-data (:executor-

2021-12-02 20:04:40 105

原创 storm代码阅读(九)

2021SC@SDUSCstorm代码阅读(九)2021SC@SDUSCTask部分阅读(四)创建Task数据mk-task-data函数用来创建与Task相关的数据,其参数为Executor的数据executor-data以及该Task的TaskId。代码如下:(defn mk-task-data [executor-data task-id] (recursive-map :executor-data executor-data :task-id task-id

2021-11-25 21:39:41 169

原创 storm代码阅读(八)

2021SC@SDUSCstorm代码阅读(八)2021SC@SDUSCTask部分阅读(三)storm代码阅读(八)WorkerTopologyContextTopologyContextWorkerTopologyContextWorkerTopologyContext类继承自GeneralTopologyContext,它是Storm中worker运行的上下文环境,也即Executor中的共享环境。该类具体实现代码如下:public class WorkerTopologyContext

2021-11-17 20:38:49 250

原创 storm代码阅读(七)

2021SC@SDUSCstorm代码阅读(七)2021SC@SDUSCTask部分阅读(二)storm代码阅读(七)GeneralTopologyContextGeneralTopologyContext的工具函数GeneralTopologyContextGeneralTopologyContext类表示Topology的上下文环境,提供了较多的工具方法来方便获得Topology的结构信息。GeneralTopologyContext定义如下:public class GeneralTop

2021-11-09 19:55:12 1135

原创 storm代码阅读(六)

2021SC@SDUSCstorm代码阅读(六)2021SC@SDUSCTask部分阅读(一)storm代码阅读(六)TaskTopologyContextTaskStorm中的Task是最小的执行单位,与Worker,Executor分别对应于进程和线程不同,Task只是逻辑上的执行单位,它需要寄身与Executor中完成运行。一个Executor可以有多个Task,用户定义的Spout和Bolt对象都会被放置在Task上,当Executor收到属于某一个Task的消息时,就会调用与该Task对

2021-11-03 21:51:36 71

原创 storm代码阅读(五)

2021SC@SDUSCstorm代码阅读(五)2021SC@SDUSCTopology部分阅读(四)storm代码阅读(五)Topolpgy提交【1】Topolpgy提交【2】Topolpgy提交【1】1、用户代码调用submitTopology用户一般通过StormSubmitter.submitTopology提交拓扑。if (args != null && args.length > 0) { conf.setNumWorkers(3);

2021-10-25 20:57:20 205

原创 storm代码阅读(四)

2021SC@SDUSCstorm代码阅读(四)2021SC@SDUSCTopology部分阅读(三)storm代码阅读(四)事务topologyITransactionalSpout事务topology根据topology中spout类型不同,topology可分为非事务topology和事务topology两种类型。非事务topology:Spout类型为IRichSpout。Storm并不保证消息的可靠传输,消息可能会丢失。事务topology:Spout类型为ITransactiona

2021-10-21 21:55:31 88

原创 storm代码阅读(三)

2021SC@SDUSCstorm代码阅读(三)2021SC@SDUSCTopology部分阅读(二)storm代码阅读(三)TopologyBuilder中一些接口的实现ConfigGetterSpoutGetterBoltGetterTopologyBuilder中一些接口的实现ConfigGetterConfigGetter是定义在TopologyBuilder.java中的一个类,它实现了ComponentConfigurationDeclarer接口,并且继承自BaseConfigur

2021-10-14 22:29:53 104

原创 storm代码阅读(二)

2021SC@SDUSCstorm代码阅读(二)2021SC@SDUSCTopology部分阅读(一)storm代码阅读(二)topology介绍TopologyBuilder代码总览TopologyBuilder具体代码段分析topology介绍Storm集群中的任务称之为Topology。Topology任务从数据源中获取数据,然后进行后续处理。在Topology中从外部数据源获取数据的组件,称之为Spout,处理数据的组件,称之为bolt。一个Topology就是由一个或者多个的Spout

2021-10-07 21:34:03 134

原创 storm代码阅读(一)

2021SC@SDUSCstorm代码阅读(一)2021SC@SDUSCStrom介绍Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。虽然Storm是无状态的,它通过Apache ZooKeeper管理分布式环境和集群状态。它很简单,您可以并行地对实时数据执行各种操作。Apache Storm继续成为实时数据分析的领导者。Storm易于设置和操作,并且它保证每个消息将通过拓扑至少处理一次。准备

2021-09-30 15:05:53 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除