1

在大量阅读和构建 POC 之后,我们仍然不确定 Storm Trident 或 Spark Streaming 是否可以处理我们的用例:

  • 我们有数百万台设备(具有唯一标识符)的入站传感器数据流。
  • 我们需要在每个设备级别上执行此流的聚合。聚合将读取之前批次中已经处理(和持久化)的数据。
  • 关键点:当我们处理特定设备的数据时,我们需要确保没有其他进程正在处理该特定设备的数据。这是因为我们处理的结果会影响该设备的下游处理。实际上,我们需要一个分布式锁。
  • 此外,事件设备数据需要按照事件发生的顺序进行处理。

本质上,我们不能同时处理同一设备的两个批次。

trident/spark 流可以处理我们的用例吗?

任何建议表示赞赏。

4

1 回答 1

0

既然你有唯一的 id,你能把它们分开吗?例如,只需将 id 除以 10,然后根据余数将它们发送到不同的处理框?这还应注意确保按顺序处理每个设备的事件,因为它们将被发送到同一个盒子。我相信 Storm/Trident 可以让你保证按顺序处理。不确定 Spark,但如果他们不知道,我会感到惊讶。

非常棒的问题要解决,我不得不说。

于 2015-02-22T11:07:09.230 回答