Spark Streaming包含大量用于RDD分析处理的流和模型

 黑马@梦想 发布于 2023-01-09 08:01

我们正在创建一个带有火花流的实时流处理系统,该系统使用大量(数百万)分析模型应用于许多不同类型的传入度量数据流(超过100000)中的RDD.此流是原始流或转换流.每个RDD都必须通过分析模型进行处理.由于我们不知道哪个Spark群集节点将处理来自不同流的特定RDD,因此我们需要在每个Spark计算节点上使所有这些模型可用.这将在每个火花节点产生巨大的开销.我们正在考虑使用内存数据网格在spark计算节点上提供这些模型.这是正确的方法吗?

要么

我们应该避免一起使用Spark流,只需使用像Redis(使用pub/sub)这样的内存数据网格来解决这个问题.在这种情况下,我们将数据流式传输到包含特定模型的特定Redis节点.当然我们必须做所有的装箱/窗户等.

请建议.

1 个回答
  • 听起来像我需要流处理引擎和分布式数据存储的组合.我会像这样设计系统.

      分布式数据存储(Redis,Cassandra等)可以包含您要从所有节点访问的数据.

      通过组合数据摄取系统(Kafka,Flume,ZeroMQ等)接收数据流,并在流处理系统(Spark Streaming [优选;]],Storm等中处理它.

      在用于处理流记录的函数中,必须从数据存储中提取必要的数据,并且可以根据需要在本地缓存.

      您可能还需要根据应用程序的需要从火花流更新数据存储.在这种情况下,您还必须担心要在第3步中提取数据的版本.

    希望这是有道理的.没有精确的计算模型,很难给出更具体的实现细节.希望这可以帮助!

    2023-01-09 08:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有