使用storm时如何将拓扑上下文中的对象访问到bolt中?

2024-01-04

我们在创建拓扑时需要传递一个对象,以便 Bolt 可以访问该对象并基于该对象进行一些进一步的处理。是否可以通过传递对象TopplogyContext如果是,怎么办?或者是否有其他方法可以在提交拓扑时传递对象,然后再提交,以便 Bolt 可以对其进行句柄/控制?

我们需要通过上下文传递对象,以便所有 Bolt 都可以访问它,并且不需要在该拓扑的所有 Bolt 中强制实现构造函数。那么,想知道是否存在可以执行相同操作的 API?


您可以在storm配置映射中传递该对象,前提是它是可序列化的。 在拓扑中任何 spout 或bolt 的prepare() 方法中,您可以检索此对象。

这是在拓扑提交时将对象放入配置映射中的方式:

Config conf = new Config();
MyObject myPreciousObject = new MyObject("precious");
conf.put("my.object",myPreciousObject);

StormSubmitter.submitTopology(args[0], conf, builder.createTopology());

这是在bolt或spout的prepare()方法中检索它的方法:

prepare(Map stormConf,TopologyContext context) {

   MyObject myPreciousObject = (MyObject) stormConf.get("my.object");

} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用storm时如何将拓扑上下文中的对象访问到bolt中? 的相关文章

  • java.lang.ClassNotFoundException:TopologyMain

    我正在尝试向本地风暴集群提交一个简单的字数统计拓扑 首先 我尝试使用 Maven 然后使用 Storm 命令行客户端 我使用 eclipse 创建了 JAR 文件 但是 它抛出主类未找到异常 谁能告诉我可能是什么问题 我在下面附上代码和异常
  • Graphite/Carbon 如何获取每秒指标

    I ve 泊坞窗化石墨正在与这个图书馆从 Apache Storm 拓扑获取指标 我正在获取指标数据 但无论我做什么 我只能每分钟获取数据 而我真正需要的是每秒的点数 As per 这个帖子我已将保留策略设置为每秒抓取数据 我也设置了 co
  • 如何将两个不同Spout的输出发送到同一个Bolt?

    我有两个 Kafka Spout 我想将它们的值发送到同一个 Bolt 是否可以 对的 这是可能的 TopologyBuilder b new TopologyBuilder b setSpout topic 1 new KafkaSpou
  • 测试java HBase连接

    我正在尝试使用 HBase Java API 将数据写入 HBase 我通过 Ambari 安装了 Hadoop HBase 以下是当前设置配置的方式 final Configuration CONFIGURATION HBaseConfi
  • Storm-Kafka多个spout,如何分担负载?

    我正在尝试在多个喷口之间分担任务 我遇到一种情况 我一次从外部源获取一个元组 消息 并且我想要拥有多个 spout 实例 其背后的主要目的是共享负载并提高性能效率 我可以对一个 Spout 本身执行相同的操作 但我想在多个 Spout 之间
  • Storm:如何将字符串数组从一个螺栓传递到另一个螺栓?

    这就是我发出数据的方式 collector emit stream new Values sessionid tables Where sessionid and tables are ArrayList
  • java.lang.ClassNotFoundException:kafka.api.OffsetRequest

    我在尝试将 Kafka 集成到我们的 Storm 拓扑时收到错误 java lang ClassNotFoundException kafka api OffsetRequest 您正在运行什么版本并且它正在运行 我的 pom xml
  • 找不到 Storm 日志查看器页面

    我可以在多租户集群中提交拓扑作业 作业正在运行 但是 日志查看器页面不可用 有什么办法可以解决这个问题吗 在单击之前您需要启动日志查看器topology port查看日志查看器 要启动日志查看器 请运行 storm logviewer和你跑
  • 读取 Storm 集群中的 AWS SQS 队列时,导致这些 ParseError 异常的原因是什么

    我正在使用 Storm 0 8 1 从 Amazon SQS 队列中读取传入消息 并且在执行此操作时遇到一致的异常 2013 12 02 02 21 38 executor ERROR java lang RuntimeException
  • 如何在cloudfoundry上使用kafka和storm?

    我想知道是否可以将 kafka 作为云原生应用程序运行 以及我是否可以在 Pivotal Web Services 上创建一个 kafka 集群作为服务 我不仅仅想要客户端集成 我想运行 kafka 集群 服务本身 谢谢 阿尼尔 我可以向您
  • Storm程序的执行流程

    我是 Storm 的新手 试图了解不同方法的执行流程spout to bolt 就像spout有不同的方法一样 下一个元组 open 声明输出字段 启用 停用 Bolt 有类似的方法 准备 执行 清理 声明输出字段 那么谁能告诉我这些方法的
  • 如何在storm中注册kryo序列化器实例?

    我拼命尝试配置序列化器实例以在我的风暴拓扑中使用 Storm 文档指出 有两种注册序列化器的方法 1 The name of a class to register In this case Storm will use Kryo s Fi
  • 无法从 Storm 教程运行 Storm-starter 拓扑

    当遵循 Storm starter 中的指南时repo https github com apache storm tree master examples storm starter 我无法实际运行任何拓扑 就像ExclamationTo
  • 如何监控Bolt的待处理队列的大小?

    我的拓扑有一两个瓶颈 Storm UI 中的容量指标对于识别这些非常有用 但我对 Bolt 队列的大小更感兴趣 我的理解是每个螺栓有两个队列 一个用于待执行的元组 另一个用于待发出的元组 是否可以监控这些队列的大小 我在网上找到了一些关于向
  • Storm动态拓扑

    Storm 支持动态拓扑吗 我想要的功能是在 Storm 拓扑运行时根据用户要求动态更改拓扑 例如 当用户想知道流的前 10 个单词时 我使用前 10 个 Bolt 来处理它 当用户想知道其他内容时 我使用另一个 Bolt 来处理流并 拔掉
  • 从 Storm Bolt 将行插入 HBase

    我希望能够从分布式 非本地 Storm 拓扑将新条目写入 HBase 有一些 GitHub 项目提供以下任一功能 HBase 映射器 https github com ptgoetz storm hbase or 预制风暴螺栓 https
  • 如何在 Intellij IDEA 中构建和运行 Storm Topology

    我按照 Storm Starter 说明并在 IntelliJ 中导入了 Twitter Storm 为了测试 我编辑了感叹拓扑一点并使用以下 Maven 命令来构建并运行它 mvn f m2 pom xml compile exec ja
  • Apache Kafka 与 Apache Storm

    Apache Kafka 分布式消息系统Apache Storm 实时消息处理 我们如何在实时数据管道中使用这两种技术来处理事件数据 就实时数据管道而言 在我看来 两者的工作都是相同的 我们如何在数据管道上使用这两种技术 您可以使用 Apa
  • 风暴最大喷口待定

    这是一个关于 Storm 的最大喷口待处理如何工作的问题 我目前有一个 spout 它读取文件并为文件中的每一行发出一个元组 我知道 Storm 不是处理文件的最佳解决方案 但我对此问题没有选择 我设置了topology max spout
  • Storm Spout 未收到 Ack

    我已经开始使用storm 所以我使用创建简单的拓扑本教程 https github com nathanmarz storm wiki Tutorial 当我运行我的拓扑时LocalCluster一切看起来都很好 我的问题是我没有得到元组的

随机推荐