使用Azure事件中心的Spark流媒体
我们使用spark streaming eventhubs在spark streaming应用程序中从IoTHub读取数据。我正在试图了解该图书馆是否完全负责抵销和租赁管理? 在博客中写道: …根据设计,每个EventHubsReceiver实例只处理一个事件集线器分区。每个接收器实例都需要一个CPU核来运行,您需要留下一些CPU核来处理接收到的数据。因此,如果在事件集线器参数中将分区计数设置为N,则需要确保为流应用程序分配2xN个CPU内核 那么,这是否意味着库将自动为每个分区创建一个接收器,并管理租约? 它会自动将检查点写入检查点位置吗 它还说,我们需要为流式应用程序分配2xN CPU内核。因此,如果IoTHub中有4个分区,那么就需要8个CPU核,这真的正确吗?那么,创建能够处理多个用例并输出到多个位置的应用程序,而不是每个用例/位置一个流式应用程序,这有意义吗 在后一种情况下,例如,有3个应用程序从同一IoTHub(4个分区)读取数据,我们需要24个内核,这是非常昂贵的使用Azure事件中心的Spark流媒体,azure,spark-streaming,azure-hdinsight,azure-eventhub,azure-iot-hub,Azure,Spark Streaming,Azure Hdinsight,Azure Eventhub,Azure Iot Hub,我们使用spark streaming eventhubs在spark streaming应用程序中从IoTHub读取数据。我正在试图了解该图书馆是否完全负责抵销和租赁管理? 在博客中写道: …根据设计,每个EventHubsReceiver实例只处理一个事件集线器分区。每个接收器实例都需要一个CPU核来运行,您需要留下一些CPU核来处理接收到的数据。因此,如果在事件集线器参数中将分区计数设置为N,则需要确保为流应用程序分配2xN个CPU内核 那么,这是否意味着库将自动为每个分区创建一个接收器,
谢谢 是的,如果您指的是-我们支持租约管理和从库中的偏移量完全重放(即,库为每个分区创建一个接收器,并为每个分区管理租约和检查点位置)。
在那篇文章中,我们对CPU的故事(不再适用)表示歉意。为了提供一些背景信息,我们有两个EventHub来激发适配器的工作,我们在一段时间后认识到了这一点并对它们进行了整合。您正在阅读一篇文章,其中提到了不推荐的EventHubs工作-这已经过时-我们将对此进行修复。太好了,谢谢您的回答。是否有关于CPU核心数的建议?