Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache storm storm trident批次是否同时处理?_Apache Storm_Trident - Fatal编程技术网

Apache storm storm trident批次是否同时处理?

Apache storm storm trident批次是否同时处理?,apache-storm,trident,Apache Storm,Trident,我想知道trident批次是否并行执行,即一次可以运行多个批次 除此之外,我还有几个问题太小,无法单独发布。如果它们足够大,请随意评论并单独发布 如果在批处理中仅处理特定元组失败,该怎么办 然后该批将被重放,从而重新处理先前成功处理的元组?例如,单词计数,其中每个元组包含一个单词,但只有几个元组被成功计数?例如,如果有三个名为man的单词,计数仅显示2,这意味着一个元组处理失败 仅在此情况下,存储以前的txid。以前的事务ID如何 例如,有三个批次1、2、3、4。现在,在第1批之后,执行第2批,

我想知道trident批次是否并行执行,即一次可以运行多个批次

除此之外,我还有几个问题太小,无法单独发布。如果它们足够大,请随意评论并单独发布

如果在批处理中仅处理特定元组失败,该怎么办

然后该批将被重放,从而重新处理先前成功处理的元组?例如,单词计数,其中每个元组包含一个单词,但只有几个元组被成功计数?例如,如果有三个名为man的单词,计数仅显示2,这意味着一个元组处理失败

仅在此情况下,存储以前的txid。以前的事务ID如何

例如,有三个批次1、2、3、4。现在,在第1批之后,执行第2批,并重放第1批。那么txid将是2,因为最近处理的批次是批次2,并且无法识别批次1之前是否处理过。 如果是这样,则必须按顺序执行批处理。这意味着在批次1成功完成之前,无法执行批次2。如果是这样,那么执行批处理的并行性在哪里

如果拓扑中的批处理只有一个特定的函数没有正确执行,该怎么办

例如,我有两个函数,一个是将消息持久化到数据库中,另一个是生成到kafka队列。在这里,在数据库中的持久化是成功的,但是由于一些节点故障(例如)推送到kafka队列失败。然后,我只希望为该特定批处理执行推送到kafka队列的函数。三叉戟有什么办法吗?为此,我不仅需要存储txid,还需要存储要为该txid处理的函数列表。怎么可能呢

据我所知:

任何失败都被认为是批次失败,喷口将重新播放。事务状态存储上次操作的值和事务id。如果计数man失败,其txid将小于当前txid,并且应将此批数据添加到存储值中。否则,它可以忽略重播,因为它知道此批中的数据已为此密钥计数

状态事务以严格的txid顺序处理,但仅由有状态组件处理。函数可以在即将到来的事务元组上执行

听起来你想要的是状态而不是函数。该状态将记住它已完成批处理,并在重播时忽略它


只有在处理批处理时出现异常时,才会重播该批处理。如果拓扑中只有一个函数未执行,则只有该函数被调用?否,喷口将重新发送批处理,并将再次运行所有函数。