Spark 是否可以设置默认存储级别?

2023-11-29

在 Spark 中,可以显式设置 RDD 和 Dataframe 的存储级别,但是否可以更改默认存储级别?如果可以,如何实现?如果不是,那为什么不可能呢?

到处都有类似的问题,但答案只是指解决方案是显式设置存储级别,而无需进一步解释。


我建议看一下CacheManager.scala#cacheQuery(..)。方法定义和文档如下所示-

/**
   * Caches the data produced by the logical representation of the given [[Dataset]].
   * Unlike `RDD.cache()`, the default storage level is set to be `MEMORY_AND_DISK` because
   * recomputing the in-memory columnar representation of the underlying table is expensive.
   */
  def cacheQuery(
      query: Dataset[_],
      tableName: Option[String] = None,
      storageLevel: StorageLevel = MEMORY_AND_DISK): Unit = writeLock {
    ...
    }
  }

在这里,如果您观察到 Spark 内部不使用任何配置来获取默认存储级别,而是其默认值是硬编码在源本身中的。

由于没有可用于覆盖默认行为的配置。在保留数据帧/ RDD 的同时,唯一的选择就是通过存储级别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark 是否可以设置默认存储级别? 的相关文章

随机推荐

  • Python Glassdoor API

    我正在尝试使用 Python 从他们的 API 中获取 glassdoor 数据 import urllib2 id1 x key y action employers company company basepath http api g
  • 在 Flask 中,我在哪里定义 url_for() 使用的域?

    当我打电话时url for index 它会生成 但有时我希望它生成 domain tld 反而 我在文档中找不到指定这一点的位置 我只需要做吗 domain tld s url for index url for需要一个 external
  • 编译器正在创建额外的类文件,其中包含 $

    我正在使用 Eclipse 并使用 SWT 编写了一个 Java 应用程序 当 Eclipse 编译我的程序时 它将我的主文件重命名为 4 个不同的文件 如下所示 主文件 class 主文件 1 class 主文件 2 class 主文件
  • VBA - 将上传的 .csv 文件名放入特定工作表的单元格中

    我想知道是否有一种方法可以获取所选的 csv 文件并将名称放入 摘要 表上的单元格中 以下是上传 csv 文件的代码 Dim ws As Worksheet strFile As String Set ws ActiveWorkbook S
  • JavaScript 数组拼接与切片

    有什么区别splice and slice const array 1 2 3 4 5 array splice index 1 array slice index 1 splice 改变原始数组 而slice 不 但它们都返回数组对象 请
  • rm() 似乎没有清空我的 R 工作区

    我正在尝试清理我的 R 工作区 我在任何线程中发现的任何东西似乎都不起作用 我已经在谷歌上搜索并尝试了几个小时的解决方案 当我打开 R 并输入ls 控制台显示上一个会话中的所有代码 function name pos 1L envir as
  • 如何循环遍历字符串并打印某些项目?

    lst AB CD EF GH 输出 A B CD E F GH 这是我尝试过的 但它不起作用 while index lt len my string curr char my string index if curr char whil
  • 如何使用 Groovy 元编程重写 java 类型实例的方法?

    我试图在 Groovy 代码中重写 java 类型实例的方法的功能 但遇到了类转换异常 我看了张贴的指南here但我无法让它工作 由于我的实际问题有点混乱 下面是一些可运行的示例代码 但由于相同的错误而失败 在示例中 我想重写 java l
  • 范围内非重复随机查找算法

    我正在寻找一种有效的算法 可以生成一定范围内的随机值 而不重复 在伪代码中 在 Rand 类中 Rand long from long to this from from this to to long getNumber returns
  • 如何使用 Firebase 存储移动文件?

    有没有办法用 firebase storage 移动文件 例子 user1 public image jpg 到 user1 private image jpg 由于 Firebase Storage 由 Google Cloud Stor
  • Meteor 仅将授权模板发送给客户端

    我知道流星会编译模板给客户端 使用meteor auth系统 是否有一种方法仅在用户有权查看模板时才发送模板 因此在客户端检查html代码时它们不可见 例如 我们不想总是将管理部分发送到浏览器 例如 如果我有
  • 从 IE 中的下拉菜单中选择一个选项并触发一个函数

    所以 我是 VBA IE 自动化的新手 我会尝试非常具体地回答我的问题 最近 我一直在尝试登录一个网站 然后从下拉列表中选择一个月 我可以从下拉列表中选择一个选项 但是 当我单击搜索按钮时 显示的结果不是我使用 VBA 选择的值 而是网页上
  • C++ 中指针是否被视为无符号值?

    有符号溢出未定义 无符号溢出定义为模算术 所以我的问题是 以下是已定义还是未定义 include
  • LinkedIn 抄写员 OAuth 库无法允许访问 LinkedIn 帐户

    我正在编写一个概念验证应用程序 以使用以下方式连接到 LinkedInscribeOAuth 库 我可以获得请求令牌 但无法将其交换为访问令牌 我反复收到oauth problem permission unknown尽管我点击了 Link
  • 在为 Android 工件生成的 POM 中排除 Kotlin stdlib 的 testImplementation 依赖项

    鉴于旧的 Android 库已弃用 我正在将其从 jcenter 迁移到 mavenCentral 所有实际的库模块都是用 Java 编写的 但其中一些模块的测试是用 Kotlin 编写的 在升级 到 AS 4 1 3 Gradle 6 8
  • 实时人脸检测不起作用

    这段代码没有显示相机中人脸的检测 即使没有错误 我希望在相机中实时检测到脸部 周围有红色乡绅 但我认为我没有正确放置代码 或者我应该在 Viewdidload 或其他东西中放置一些东西 import UIKit import CoreIma
  • cUrl - 获取 html 响应正文

    我确信这相当简单 我正在使用下面的函数来检索网站原始 html 为了解析它 在测试期间 我决定在 stackoverflow com 上运行我的代码 Chrome 不是获取 html 响应 而是打印出实际的站点 而不是将 html 分配给它
  • Java RegEx 不区分大小写吗?

    在Java中 当执行replaceAll来查找正则表达式模式时 例如 replaceAll i b w b s 1 b 1 删除重复的连续的不区分大小写的单词 例如测试测试 我不确定我把 i 我读到它应该在开头 但是如果我把它拿出来 那么我
  • 在 R 中如何舍入为 1、1.5、2 等而不是 1、2 或 1.1、1.2、1.3?

    我想将数字四舍五入到最接近的一半或整数 所以我想将 4 2 舍入到 4 4 3 到 4 5 以及 4 8 到 5 我使用舍入选项尝试了一些操作 gt round 4 34 1 1 4 3 gt round 4 34 1 4 gt round
  • Spark 是否可以设置默认存储级别?

    在 Spark 中 可以显式设置 RDD 和 Dataframe 的存储级别 但是否可以更改默认存储级别 如果可以 如何实现 如果不是 那为什么不可能呢 到处都有类似的问题 但答案只是指解决方案是显式设置存储级别 而无需进一步解释 我建议看