当前位置: 首页 > 知识库问答 >
问题:

如何用Spark优化线性规划

曹季同
2023-03-14

从本质上说,我想最小化覆盖消费的成本。这些规则或多或少有以下几点:

每一个客户(我们有几百万个客户)消费不同的物品,这是不同的每一个客户。我们有许多产品,每一个包括一个或多个项目,在给定的成本。产品和成本对所有客户来说都是共同的。此外,还有一些附加的限制因素将哪些产品可以为每个客户组合在一起,但这些限制因素对所有客户来说都是相同的。我正在计划使用Spark解决这个问题,我不熟悉它的算法在这个问题上的性能,我的问题是,我应该尝试解决大量的小问题,还是应该将它们组合在一个大问题中,重复每个客户的产品之间的约束?

也许把几十万个客户聚在一起?

共有1个答案

仲孙默
2023-03-14

Spark一般如何解决问题

Spark是一个大规模的分布式计算引擎,其基本目的是将计算传递到数据中,并尽可能多地利用内存操作来解决问题。

通常,您只需将所有数据加载到数据集或数据帧(比如SQL表)中,然后编写伪SQL来解决问题。

如果速度太慢或失败,通常可以通过为spark提供更多的内核、更多的内存、更多的执行器,以及更智能地对数据进行分区(分区是并行度的单位;spark SQL默认使用200个)来扩展。Spark是要在一个足够大的计算机集群上运行的,它可以一次解决您的问题。例如,在一个8节点集群上,我们很高兴地一次处理数十亿行而没有问题。

如果您没有一个真正的集群或一个足够大的集群来解决您的问题,您可以批量计算,这是很好的;但一般做法是类似的。

专业图书馆

 类似资料:
  • 本文向大家介绍Spark性能如何调优?相关面试题,主要包含被问及Spark性能如何调优?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 避免创建重复的RDD,尽量复用同一RDD,尽量避免使用shuffle类算子,优化数据结构,使用Hive ETL预处理数据,过滤少数导致倾斜的key,提高shuffle操作的并行度,两阶段聚合,将reduce join转为map join。

  • 本文向大家介绍js如何性能优化?相关面试题,主要包含被问及js如何性能优化?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 减少HTTP请求 使用内容发布网络(CDN) 添加本地缓存 压缩资源文件 将CSS样式表放在顶部,把javascript放在底部(浏览器的运行机制决定) 避免使用CSS表达式 减少DNS查询 使用外部javascript和CSS 避免重定向 图片lazyLoad  

  • 我开始写前端应用的时候,并不知道一个 Web 应用需要优化那么多的东西。编写应用的时候,运行在本地的机器上,没有网络问题,也没有多少的性能问题。可当我把自己写的博客部署到服务器上时,我才发现原来我的应用在生产环境上这么脆弱。 我的第一个真正意义上的 Web 应用——开发完应用,并可供全世界访问,是我的博客。它运行在一个共享 256 M 内存的 VPS 服务器上,并且服务器是在国外,受限于网络没有备

  • 1 数据倾斜调优 1.1 调优概述   有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。 2.2 数据倾斜发生时的现象 绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是

  • 1 前言   在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。   然而,通过Spark开发出高性能的大数

  • 我正在运行一个有2个工作者的Spark流式应用程序。应用程序具有联接和联合操作。 所有批处理都成功完成,但注意到shuffle溢出度量与输入数据大小或输出数据大小不一致(溢出内存超过20次)。 对此进行研究后发现 注意到这个溢出内存的大小对于大的输入数据是难以置信的大。 我的问题是: 这种溢出对性能有很大影响吗? 有没有什么火花属性可以减少/控制这种巨大的溢出?