自定义博客皮肤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@SDUSC storm代码阅读(十三) 2021SC@SDUSC Stream Groupings部分阅读storm代码阅读(十三)Stream GroupingsFieldGroupingShuffle grouping Stream Groupings Stream Grouping定义了一个流在Bolt任务间该如何被切分。 这里有storm提供的9个Stream Grouping类型 1、shuffleGrouping(随机分组) 随机分发tuple到Bolt的任务,保证每个任务获得相等

2021-12-22 22:05:42 366

原创 storm代码阅读(十二)

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

2021-12-14 00:23:47 1482

原创 storm代码阅读(十一)

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

2021-12-07 23:54:22 181

原创 storm代码阅读(十)

2021SC@SDUSC storm代码阅读(十) 2021SC@SDUSC Task部分阅读(五) 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 176

原创 storm代码阅读(九)

2021SC@SDUSC storm代码阅读(九) 2021SC@SDUSC Task部分阅读(四) 创建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 221

原创 storm代码阅读(八)

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

2021-11-17 20:38:49 315

原创 storm代码阅读(七)

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

2021-11-09 19:55:12 1204

原创 storm代码阅读(六)

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

2021-11-03 21:51:36 110

原创 storm代码阅读(五)

2021SC@SDUSC storm代码阅读(五) 2021SC@SDUSC Topology部分阅读(四)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 292

原创 storm代码阅读(四)

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

2021-10-21 21:55:31 134

原创 storm代码阅读(三)

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

2021-10-14 22:29:53 182

原创 storm代码阅读(二)

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

2021-10-07 21:34:03 188

原创 storm代码阅读(一)

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

2021-09-30 15:05:53 197

空空如也

空空如也

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

TA关注的人

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