问题标签 [trident]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
21145 浏览

apache-storm - Storm vs. Trident:什么时候不使用 Trident?

我正在使用Storm,它适用于很多用例。最近我看了Trident,它是 Storm 的高级抽象。它支持一次性处理并使有状态处理更容易。

但现在我想知道.. 为什么我不能总是使用 Trident 而不是 Storm?

到目前为止我读到的:

  • Trident 批量处理消息,因此吞吐时间可能会更长。
  • Trident 还不能处理拓扑中的循环。

使用 Trident 代替 Storm 时还有其他缺点吗?因为现在,我认为我上面列出的缺点是微不足道的。

哪些用例不能用 Trident 实现?


后果:

自从我提出这个问题后,我的公司决定先选择 Trident。我们只会在出现性能问题时使用纯 Storm。遗憾的是,这不是一个积极的决定,它只是成为默认行为(当时我不在)。

他们的假设是,在大多数用例中,我们需要状态或仅处理一次,或者我们将在不久的将来需要它。我理解他们的推理,因为从 Storm 迁移到 Trident 或返回不是一个简单的转换,但在我个人看来,没有状态的流处理的概念并没有被所有人理解,这是使用 Trident 的主要原因。

0 投票
2 回答
3334 浏览

apache-storm - 风暴中的三叉戟状态是什么?

我是风暴中三叉戟的新手。我对 TridentState 感到头疼。据我了解,三叉戟维护每个批次的状态(即元数据)(批次中的所有元组是否都通过在数据库中维护事务 id 来完全处理)并且我不完全确定以下语句的作用

任何人都可以解释当我们定义上述代码时实际发生了什么?

0 投票
0 回答
252 浏览

apache-storm - 添加第二个主管节点时,Storm spout 停止发射

TridentTopology用来从文件中读取并使用单个喷口发出聚合。当我有一个主管节点时,拓扑工作正常,spout 发射正常。但是,当添加第二个主管节点时,spout 将停止发射。我能够使用 Storm UI 验证有两个主管节点。两个节点上的主管日志或工作日志文件都没有错误。

0 投票
1 回答
1351 浏览

apache-storm - 使用三叉戟拓扑从一个数据库中获取数据并处理并将其存储到另一个数据库

我想通过 spout 从一个数据库中获取数据并处理数据并使用 trident 将其存储在另一个数据库中。我是 Storm 和 trident 的新手,我不确定如何实现它。我从数据库中获取数据spout(实现 trident 支持的 IRichSpout 的单独 java 类),我将它作为对象发出。我需要将它传递给 trident 拓扑进行处理(计算记录数)并将其存储到数据库中。

现在新的流需要一个喷口作为输入,即语法是

但我想将 spout 发出的对象作为流的输入,供 trident 处理并保存到数据库。那么我怎样才能将我的 spout 类带入 trident 并将其传递给新的流,或者我应该将 spout 和三叉戟同班??

有人可以帮忙吗......

0 投票
1 回答
735 浏览

global - 我应该使用 Trident 来计算 Storm 中元组的全局平均值吗?

我想用 Storm 计算由 [int id,int value] 组成的传入元组的平均值。如您所见,我无法使用字段分组对数据进行分区。我需要一个拓扑架构来分配这个计算,我想到的唯一方法是在每个螺栓实例中做小批量,然后聚合。

我有点理解 trident 是在 Storm 中进行小批量处理的合适解决方案。

当您无法根据属性对数据进行分区时,使用类似风暴的均值、全局计数、std-devs 计算全局分析的最佳实践是什么?任何拓扑示例?

0 投票
1 回答
1500 浏览

apache-storm - 从 spout 输出收集器向 DRPC 请求传递一个值?

我正在尝试实现 Trident+DRPC。我以一种不会无限期运行的方式设计了拓扑。我有两个单独的类,一个用于 spout 实现,另一个用于实现 DRPC 和 Trident。我的 spout 类(扩展 IRichSpout 的 spout)发出客户的 id。IE

现在我从另一个使用 DRPC 实现 Trident 的类中的输出收集器中获取了值。

而drpc拓扑def如下

DRPC请求如下

现在在上面的代码中,在 DRPC 请求中,即

应该与 spout 发出的"id"id 相同,即我想知道哪个客户有使用此 id 的活动帐户,所以我需要为 spout 发出的所有 id 发送 DRPC 请求。现在 DRPC 在主类中,如何在不手动指定 id 的情况下将 spout 发出的值传递给 DRPC 请求?

有人可以帮忙吗

用新信息编辑

0 投票
1 回答
3402 浏览

apache-storm - 三叉戟拓扑中的并行配置(风暴)

在阅读了这个这个之后,我很难理解如何配置我的三叉戟拓扑。

基本上我的 Storm 应用程序是从kafka读取数据,进行一些数据操作,最后写入Cassandra

这是我目前构建拓扑的方式:

所以我得到了一个spout和一些带有parallelismHint的操作(filter,groupby)。我不知道确定最佳并行度提示,此外,如果我在我的代码中设置此值,它如何与风暴标准拓扑配置结合使用,例如

提前致谢

0 投票
1 回答
1636 浏览

serialization - 运行风暴拓扑时 InvalidClassException 本地类不兼容

在本地模式下运行时,运行单个拓扑的 Storm 应用程序运行良好,但在分布式环境中运行时,我的工作日志中出现这些异常。这是同一个例外,但它指的是 2 个不同的类。第一个是指storm.trident.topology.MasterBatchCoordinator:

第二个指的是backtype.storm.topology.BasicBoltExecutor:

它不断出现在整个日志中,我的拓扑显然不起作用。我知道当发现类的串行版本与类描述符的版本不同时会引发此异常,但不知道是什么原因导致它以及如何修复它。

这是我的 pom 依赖项:

有任何想法吗?我在这里迷路了:\

0 投票
2 回答
1268 浏览

apache-storm - Storm Trident '平均聚合器

我是 Trident 的新手,我希望创建一个类似于“Sum()”的“Average”聚合器,但用于“Average”。以下不起作用:

它可能在语法上并不完全正确,但这就是想法。如果可以的话请帮忙。给定 2 个值为 [2,4,1] 和 [2,2,5] 以及字段 'a'、'b' 和 'c' 的元组,并对字段 'b' 进行平均应该返回 '3'。我不完全确定 init() 和 zero() 是如何工作的。

非常感谢您提前提供的帮助。

伊莱

0 投票
1 回答
474 浏览

winapi - 阅读有关直接托管 MSHTML.DLL(不是 WebBrowser)的材料?

任何人都可以建议直接托管MSHTML.DLL/Trident(不是SHDOCVW.DLL/WebBrowser)的良好阅读材料吗?我想将它用于 C++ 中的 GUI 元素,有时是主要元素。我需要 HTML 渲染、带有额外主机提供的 DOM 方法和属性的 JavaScript、事件。

我的印象是,WebBrowser 只是添加了一个额外的层,提供了我不需要的任何东西,除此之外,我必须努力禁用的东西:跨页导航、历史记录、UI、上下文菜单、注册表依赖项、通用 Active Document 托管,下载等

我找到的所有文章都在谈论 WebBrowser 控件,即使在很多情况下都称它为 MSHTML。微软的文档让人很难理解什么是 MSHTML 和什么是 WebBrowser;例如,“其他 MSHTML 接口”列出了 IWebBrowser2,它不是 MSHTML.DLL 的一部分。