gpt4 book ai didi

hadoop - 如何使用 Spark Streaming 确保事件的有序处理?

转载 作者:可可西里 更新时间:2023-11-01 14:40:10 26 4
gpt4 key购买 nike

我有一个用例,我想处理大量事件。这些事件中包含多个属性。但是,我想确保对于给定的属性(键),在给定时间运行的 spark 执行不超过 1 个,因为如果对同一个键并行运行两个执行,最终结果将由竞争条件决定.

我的模型是这样的:

  • 从某个系统接收更改事件。
  • 使用本地数据库中的属性丰富事件。
  • 使用 Kinesis 将 enrich 事件发送到 spark streaming。
  • 使用输出更新本地数据库。

apace-storm 是否是此类系统的更好竞争者?

最佳答案

Amazon Kinesis 使用流中的分片作为数据容器。在分片内,可以保证按顺序处理这些值。

您可以针对您的用例利用此功能:因此,在将记录放入流中时使用预定义的“分区键”值。

例如,如果您要处理用户值,则可以使用用户事件的 ID 作为生产者端 的分区键。

  • 用户 #1:首先进行购买,然后更新分数,然后浏览到页面 X 等。
  • 用户 #2:首先执行 X,然后执行 Y,然后 Z 事件发生等等。

这样,您就可以确保及时处理单个用户的事件。您将对不同用户的事件(即 Kinesis 记录)进行并行处理。

关于hadoop - 如何使用 Spark Streaming 确保事件的有序处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40874944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com