如果我没有足够的内存,spark 会做什么?

2023-12-29

我是 Spark 新手,我发现文档说 Spark 会将数据加载到内存中以使迭代算法更快。

但是如果我有 10GB 的日志文件而只有 2GB 内存怎么办? Spark 会像往常一样将日志文件加载到内存中吗?


我认为这个问题在 Spark 网站的 FAQ 面板中已经得到了很好的回答(https://spark.apache.org/faq.html https://spark.apache.org/faq.html):

  • 如果我的数据集不适合内存,会发生什么情况?通常,每个数据分区都很小并且适合内存,并且这些分区一次只能处理几个。对于无法容纳在内存中的非常大的分区,Spark 的内置运算符对数据集执行外部操作。
  • 当缓存的数据集不适合内存时会发生什么?Spark 可以将其溢出到磁盘,或者在每次请求时重新计算不适合 RAM 的分区。默认情况下,它使用重新计算,但您可以将数据集的存储级别设置为 MEMORY_AND_DISK 以避免这种情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果我没有足够的内存,spark 会做什么? 的相关文章

随机推荐

  • 使用 AWK 中的第一个字段作为文件名

    该数据集是一个包含三列的大文件 一个部分的 ID 一些不相关的内容和一行文本 示例可能如下所示 A01 001 This is a simple test A01 002 Just for exemplary purpose A01 003
  • 将 NServiceBus 与 Asp.Net MVC 2 结合使用

    有没有办法将 NServiceBus 与 Asp Net MVC 2 一起使用 我想将请求消息从 Asp Net MVC2 应用程序发送到服务 该服务处理该消息并回复响应消息 有没有办法清楚地做到这一点 NServiceBus 仅支持注册状
  • Jquery 冲突导致错误

    从事具有多种功能的项目 例如 谷歌翻译 图像滑块 使用画廊 弹出窗口 使用阴影框 JavaScript 水平菜单栏 Now we are getting jquery conflict in it and error message suc
  • 从 Docker 容器获取 Mac 地址

    是否可以从Docker容器中获取主机的MAC地址并将其写入文本文件中 docker inspect
  • GCS - Python 下载具有目录结构的 blob

    我使用 GCS python SDK 和 google API 客户端的组合来循环启用版本的存储桶并根据元数据下载特定对象 from google cloud import storage from googleapiclient impo
  • 计算负载并避免光标

    给出下面的表结构 它表示乘客通过门磁上下车的公交路线 而且 有一个人坐在那辆公共汽车上 手里拿着一个记着点数的剪贴板 CREATE TABLE BusLoad ROUTE CHAR 4 NOT NULL StopNumber INT NOT
  • 从 Powershell 调用 AppDomain.DoCallback

    这是基于 Stack Overflow 问题 如何在新的 AppDomain 中将程序集加载为仅反射 https stackoverflow com questions 35249342 how to load an assembly as
  • 选择 Plsql 中的第二行

    假设我有下表 SomeTable id price 如何从此表中选择价格第二高的行 注意 这必须在 Pl SQL 中以与数据库无关的方式完成 是否可以在没有任何循环的情况下做到这一点 我知道这是如何使用 Oracle 结构来完成的 例如ro
  • “不要在设计中使用抽象基类;但在建模/分析中”

    虽然我在 OOAD 方面有一些经验 但我是 SOA 的新手 SOA 设计的指导原则之一是 仅使用抽象类进行建模 从设计中省略它们 抽象的使用有助于建模 分析阶段 在分析阶段 我提出了一个 BankAccount 基类 从它派生的专门类是 F
  • 将 Java 7 与官方 Google Appengine Maven 插件结合使用

    我在使用时遇到问题官方 Maven 插件 https developers google com appengine docs java tools maven以及带有 Google Appengine 的 Java 7 配置 我的项目配置
  • 优先级队列数据结构

    假设我有一个优先级队列 它按升序删除元素 并且存储在该队列中的是元素1 1 3 0 1 递增的顺序是0 then 1 then 3 但是有三个元素1s 当我打电话时remove它会首先删除0 但如果我打电话remove它会再次删除所有三个吗
  • 提高功能性能

    我正在编写一个小程序来检查以下问题的解决方案布罗卡的问题 http en wikipedia org wiki Brocard s problem或所谓的棕色数字我首先用 ruby 创建了一个草稿 class Integer def fac
  • 在 Xcode 中创建和编辑 plist 文件的步骤

    我想添加密钥对值plist 我不知道如何在 XCode 中添加 plist 文件 只是我想将这些详细信息添加到名为 的 plist 文件中 Mobile plist Apple iPhone iPod iPad Samsung Galaxy
  • Java 中可以使用 C# 风格的对象初始化吗?

    在 C 中可以这样写 MyClass obj new MyClass field1 hello field2 world field3 new MyOtherClass etc 我可以看到数组初始化可以用类似的方式完成 但是在 Java 中
  • Tensorflow、Keras:在多类分类中,准确率很高,但大多数类别的精度、召回率和 f1 分数为零

    一般说明 我的代码工作正常 但结果是有线的 我不知道问题出在 网络结构 或者我向网络提供数据的方式 或其他任何东西 我为这个错误苦苦挣扎了几个星期 到目前为止我已经改变了损失函数 优化器 数据生成器等 但我无法解决它 我很感激任何帮助 如果
  • java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean java.lang.String.equals(java.lang.Object)”

    运行我的项目时出现错误 java lang RuntimeException Unable to start activity ComponentInfo com example olympic com prima olympic Prod
  • 为什么赋值的值总是参数的值? [复制]

    这个问题在这里已经有答案了 有人愿意解释一下为什么在旧版本的Ruby中 赋值的结果是属性设置方法返回的值 但是在Ruby 1 8之后 赋值的值总是参数的值 该方法的返回值被丢弃 在下面的代码中 旧版本的 Ruby 会将结果设置为 99 现在
  • 在进行另一次检查之前如何检查变量不为空?

    我有这个代码 if App selectedPhrases null App selectedPhrases Count 0 有没有办法可以使用 来简化它 运算符检查 null 而不是使用 连接进行两个不同的检查 您可以使用 null 条件
  • 使用 Hibernate 将两个或多个应用程序连接到同一个数据库

    我计划构建一个桌面应用程序 它将使用 Hibernate 和 MySQL 作为其数据源 我想在多台机器上执行桌面应用程序 但我希望它们都读 写同一个 MySQL 数据库 这可能吗 我担心的是当两个应用程序尝试访问 修改相同信息时的并发问题
  • 如果我没有足够的内存,spark 会做什么?

    我是 Spark 新手 我发现文档说 Spark 会将数据加载到内存中以使迭代算法更快 但是如果我有 10GB 的日志文件而只有 2GB 内存怎么办 Spark 会像往常一样将日志文件加载到内存中吗 我认为这个问题在 Spark 网站的 F