Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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
使用Azure事件中心的Spark流媒体_Azure_Spark Streaming_Azure Hdinsight_Azure Eventhub_Azure Iot Hub - Fatal编程技术网

使用Azure事件中心的Spark流媒体

使用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内核 那么,这是否意味着库将自动为每个分区创建一个接收器,

我们使用spark streaming eventhubs在spark streaming应用程序中从IoTHub读取数据。我正在试图了解该图书馆是否完全负责抵销和租赁管理? 在博客中写道:

…根据设计,每个EventHubsReceiver实例只处理一个事件集线器分区。每个接收器实例都需要一个CPU核来运行,您需要留下一些CPU核来处理接收到的数据。因此,如果在事件集线器参数中将分区计数设置为N,则需要确保为流应用程序分配2xN个CPU内核

那么,这是否意味着库将自动为每个分区创建一个接收器,并管理租约? 它会自动将检查点写入检查点位置吗

它还说,我们需要为流式应用程序分配2xN CPU内核。因此,如果IoTHub中有4个分区,那么就需要8个CPU核,这真的正确吗?那么,创建能够处理多个用例并输出到多个位置的应用程序,而不是每个用例/位置一个流式应用程序,这有意义吗

在后一种情况下,例如,有3个应用程序从同一IoTHub(4个分区)读取数据,我们需要24个内核,这是非常昂贵的


谢谢

是的,如果您指的是-我们支持租约管理和从库中的偏移量完全重放(即,库为每个分区创建一个接收器,并为每个分区管理租约和检查点位置)。
在那篇文章中,我们对CPU的故事(不再适用)表示歉意。为了提供一些背景信息,我们有两个EventHub来激发适配器的工作,我们在一段时间后认识到了这一点并对它们进行了整合。您正在阅读一篇文章,其中提到了不推荐的EventHubs工作-这已经过时-我们将对此进行修复。

太好了,谢谢您的回答。是否有关于CPU核心数的建议?