createOrReplaceTempView 在 Spark 中如何工作?

2024-05-28

我是 Spark 和 Spark SQL 的新手。

如何createOrReplaceTempView在 Spark 工作?

如果我们注册一个RDD对象作为表 Spark 会将所有数据保留在内存中吗?


createOrReplaceTempView创建(或替换,如果该视图名称已存在)一个延迟计算的“视图”,然后您可以像 Spark SQL 中的 hive 表一样使用它。确实如此not除非您缓存支撑视图的数据集,否则它会持久保存到内存中。

scala> val s = Seq(1,2,3).toDF("num")
s: org.apache.spark.sql.DataFrame = [num: int]

scala> s.createOrReplaceTempView("nums")

scala> spark.table("nums")
res22: org.apache.spark.sql.DataFrame = [num: int]

scala> spark.table("nums").cache
res23: org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] = [num: int]

scala> spark.table("nums").count
res24: Long = 3

仅在以下时间后数据才会被完全缓存.count称呼。这是它已被缓存的证据:

相关SO:Spark createOrReplaceTempView 与 createGlobalTempView https://stackoverflow.com/questions/42774187/spark-createorreplacetempview-vs-createglobaltempview

相关引用(与持久表相比):“与 createOrReplaceTempView 命令不同,saveAsTable 将具体化 DataFrame 的内容并创建指向 Hive 元存储中数据的指针。”从https://spark.apache.org/docs/latest/sql-programming-guide.html# saving-to-persistent-tables https://spark.apache.org/docs/latest/sql-programming-guide.html#saving-to-persistent-tables

Note : createOrReplaceTempView以前是registerTempTable

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

createOrReplaceTempView 在 Spark 中如何工作? 的相关文章

随机推荐

  • Chrome 本机消息传递 - 为什么我会收到“找不到指定的本机消息传递主机”错误?

    根据 Chrome Native Messaging 文档 成功调用 connectNative 会返回一个端口 您可以使用该端口将消息发布到本机应用程序 Mac 应用程序 在我的例子中 nativeConnect 确实返回了一个有效的端口
  • Opera Mobile 9.7 Beta 设置焦点 [重复]

    这个问题在这里已经有答案了 我们使用手持式扫描仪将物品移入和移出库存 扫描仪运行一个 ASP 页 该页提交表单以移动项目 我们最近购买了一台运行 Windows Mobile 6 1 的新扫描仪 很快就意识到 Mobile IE 完全没用
  • 如何在 Erlang 中将整数列表连接到字符串?

    我有这个元组 如下所示 127 0 0 1 现在我想将该元组作为字符串传递 127 0 0 1 到外部库 地理 IP 库 将此元组转换为字符串的最佳方法是什么 您可以随时使用inet parse ntoa 1 1 gt inet parse
  • 使用unittest时如何知道每次测试花费的时间?

    Unittest 仅显示运行所有测试所花费的总时间 但不单独显示每个测试所花费的时间 使用unittest时如何添加每个测试的计时 我想 目前不可能 http bugs python org issue4080 http bugs pyth
  • 为级联子列表构建一个空的 MVC DropdownListFor

    我想构建一个空的下拉列表来接收先前下拉列表选择的结果 实际视图 div Html DropDownListFor m gt m Make Id Model MakeList HeelpResources DropdownlistMakeFi
  • Clojure 中没有整数溢出?

    我在阅读时在 IntelliJ IDEA 中运行 Clojure 1 3 0 和 La ClojureClojure 的乐趣 在第 4 1 3 节 第 64 页 中 作者使用以下代码演示了整数溢出 Integer MAX VALUE Int
  • IE 中的 jQuery 鼠标闪烁

    当我在 IE 中执行 fadeIn fadeOut slideUp slideDown toggle 等 jQuery 函数时 鼠标总是闪烁 沙漏在光标旁边的视图中快速闪烁 我尝试了不同的方法来在动画进行时完全隐藏鼠标 但没有效果 而且在大
  • 如何在 JmsMessagingTemplate.sendAndReceive 上设置等待超时

    我在 MVC 控制器中使用 JmsMessagingTemplate 的 sendAndReceive 但如果没有发送回复消息 它似乎会永远等待回复 该文档指出 返回 回复 如果无法接收消息 例如由于超时 则可能为 null 然而 我只是不
  • 运行 flutter doctor 吐出错误:标准错误:致命:坏对象 HEAD

    我已经从官方网站安装了 Flutter 和 Android Studio 我是 Git GitHub 移动开发和 Android 开发的新手 我试图在命令提示符 Windows 10 中运行 flutter doctor 命令 但是 它会以
  • Nginx 作为负载均衡器,具有 75% 和 25% 加权路由

    我是 Nginx 新手 我有两台服务器 serverA 和 serverB 我希望 75 的请求发送到 serverA 其余 25 的请求发送到 serverB 这可能吗 使用nginx加权路由 stream upstream stream
  • xhr 响应 for 循环不起作用

    我有 xhr 和 for 循环 它的工作非常罕见 for var i 0 i lt this files length i var xhr new XMLHttpRequest xhr upload onprogress function
  • 如何检查号码是否只有唯一的数字?

    例如 2345 是唯一的数字 因为没有数字显示两次 但 3324 不是唯一的数字 因为 3 出现了两次 我尝试使用 但我 代码 显示但我没有得到数字我得到了数字 编辑 你不能使用字符串 number 10 number 100 number
  • 静态 OpenCV 库中未定义的引用

    我有一个使用 OpenCV 3 1 的 C 项目 并且使用共享库可以正常工作 但现在我想使用静态库 位于项目目录中的文件夹中 来编译它 因为我希望能够在未安装 OpenCV 的情况下导出它 如果需要还可以编辑和重新编译 这次我重新编译了 O
  • Android Gradle 将日志输出保存到文件

    使用 Android 和 Gradle 如何将 gradlew 任务的控制台消息保存到文件中 例如 当运行 gradlewconnectedCheck i 时 如何将运行时间和任何失败保存到文件中 在 bash 命令行中运行 gradlew
  • 如何解决 302 重定向上的 POST 更改为 GET 的问题?

    我网站的某些部分只能通过 HTTPS 访问 不是整个网站 安全与性能妥协 并且如果通过纯 HTTP 发送请求 则 HTTPS 是通过对安全部分的请求进行 302 重定向来强制执行的 问题是对于所有主流浏览器来说 如果您在 POST 上执行
  • React Native v0.71.8 React-native-vector-icons 你看不到的图标

    我在用react native版本v0 71 8 我安装了react native vector icons库 但图标未显示 似乎链接在最新版本的 React Native 中不再起作用 所以我按照说明进行操作 但它不再编译 出现以下错误
  • 为什么起订量默认不设置所有属性?

    据我所知 在起订量中 您需要先设置属性 然后才能分配值 我的问题是whyMoq 不只是允许您默认设置属性 而无需 设置 它们 这是开发商的问题 在那之前你可以看看快速开始 https github com Moq moq4 wiki Qui
  • 禁用 HTML 验证。如何为全局每个表单设置“novalidate”?

    我想知道是否可以做一些事情来禁用应用程序中每个表单的 HTML 验证 有什么办法可以做到这一点或者我应该添加novalidate每个表单标签的属性 看来唯一的方法是添加novalidate使用 JavaScript jQuery 为每个表单
  • 在约束验证器中使用 Guice 进行依赖注入

    我有一个在 ConstraintValidator 的实现中注入类的用例 我正在使用 Google guice 进行依赖项注入 目前无法在验证器内注入 我的场景的简化形式 内部模块 Provides Singleton public Ser
  • createOrReplaceTempView 在 Spark 中如何工作?

    我是 Spark 和 Spark SQL 的新手 如何createOrReplaceTempView在 Spark 工作 如果我们注册一个RDD对象作为表 Spark 会将所有数据保留在内存中吗 createOrReplaceTempVie