azure - 使用 Azure 事件中心的 Spark Streaming

标签 azure spark-streaming azure-hdinsight azure-eventhub azure-iot-hub

我们使用 Spark-streaming-eventhubs 从 Spark Streaming 应用程序中的 IoTHub 读取数据。我想了解偏移和租赁管理是否完全由该库处理? 在 this博客文章说:

...by design each EventHubsReceiver instance only handles one Event Hubs partition. Each receiver instance requires one CPU core to run, and you need to leave some CPU cores to process the received data. So if you set partition count to N in Event Hubs parameters, you need to make sure you assign 2xN CPU cores to the streaming application.

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

它还表示我们需要分配给流应用程序的 2xN CPU 核心。那么如果 IoTHub 中有 4 个分区,则需要 8 个 CPU 核心,这真的正确吗?那么创建可以处理多个用例并输出到多个位置的应用程序而不是每个用例/位置一个流应用程序是否有意义?

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

谢谢!

最佳答案

是的,如果您指的是 this library - 我们支持租约管理和在库中完全从 Offset 重放(即库为每个分区创建一个接收器并管理每个分区的租约和检查点位置)。

我们对那篇文章中的 CPU 故事表示歉意 - 它不再适用 - 提供一些背景 - 我们进行了 2 个 EventHubs-to-SPARK 适配器工作 - 经过一段时间我们认识到这一点并整合了它们。您正在查看一篇文章,其中提到了已弃用的 EventHubs 工作 - 该文章已过时 - 我们将修复该问题。

关于azure - 使用 Azure 事件中心的 Spark Streaming,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427933/

相关文章:

azure - 无法在 Azure 上部署 Flatcar 操作系统

apache-spark - Spark Streaming Write Ahead Log重启后不重播数据

python - Spark 流 : How to get the filename of a processed file in Python

java - 如何使用java中的身份验证方法连接Azure VM上的WASB

hadoop - HDInsight 上的 HCatalog 通知

asp.net-mvc - 如何使用 MVC Azure AD 身份验证从 AD 获取角色?

sql-server - 无法连接到 Azure 网络中的 SQL

azure - 利用云服务对某个时间窗口内的实时统计数据进行聚合和分组,以触发通知

azure - 可以在 HDInsight 中运行的 Hadoop 作业的驱动程序方法中访问 Azure SQL 数据库吗?

Azure 订阅 ID 与帐户 ID