gpt4 book ai didi

apache-spark - createOrReplaceTempView 在 Spark 中是如何工作的?

转载 作者:行者123 更新时间:2023-12-03 07:57:31 25 4
gpt4 key购买 nike

我是 Spark 和 Spark SQL 的新手。

怎么样createOrReplaceTempView在 Spark 工作?

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

最佳答案

createOrReplaceTempView创建(或替换,如果该 View 名称已经存在)一个懒惰评估的“ View ”,然后您可以像 Spark SQL 中的配置单元表一样使用它。除非您缓存支持 View 的数据集,否则它不会持久保存到内存中。

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 之后才完全缓存数据称呼。这是它已被缓存的证据:

Cached nums temp view/table

相关SO: spark createOrReplaceTempView vs createGlobalTempView

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

注: createOrReplaceTempViewregisterTempTable

关于apache-spark - createOrReplaceTempView 在 Spark 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44011846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com