apache-spark - 如果应用程序的两个实例同时运行,火花流是否会分配负载?
问题描述
我最近注意到,当我提交了两个流应用程序实例并且它们并行工作时,输入速率会发生某种变化。此图像来自其中一个应用程序,当时我杀死了另一个应用程序。输入速率增加。
我正在订阅 MQTT 消息代理以将数据发送到应用程序。这是否意味着负载在两个应用程序之间分配?
更多信息:应用程序处理数据后,将其写入 HBase,并且事务是幂等的,如果数据被写入两次,则不会发生任何事情。
解决方案
有多种方法可以识别它。
如果您要维护基于时间戳的 hbase 单元数据版本,则可以检查该特定数据单元存在多少个时间戳版本。您可以通过 hbase shell 轻松检查这一点。 检查此以供参考
另一种方法是,您可以使用来自两个流的流式应用程序 ID 记录此数据。检查是否从两个流中插入相同的数据。
推荐阅读
- android - 防止 CardView 中的 RecyclerView 拦截触摸
- php - 如何使用 for 循环创建从 mysql 数据库填充的可折叠 html/bootstrap 复选框表?
- hyperlink - scrapy docs作者蜘蛛无法抓取内部链接
- docker - 如何将一个 docker 容器上的端口绑定到另一个 docker 容器上的端口?
- javascript - 为什么我在运行代码时收到错误“UnhandledPromiseRejectionWarning”?
- python - 使用 Keras 实现图像金字塔
- android - 为每个新项目包含相同的依赖项
- react-native - React-Native 按钮无法导航到下一页
- javascript - 创建 MVC 格式的动态元素
- json - 如何将带有嵌套数组的 JSON 对象映射到打字稿模型中?