gpt4 book ai didi

sql - Spark 持久化临时 View

转载 作者:行者123 更新时间:2023-12-01 14:14:53 24 4
gpt4 key购买 nike

我试图保留一个临时 View ,目的是通过 sql 再次查询它:

val df = spark.sqlContext.read.option("header", true).csv("xxx.csv")
df.createOrReplaceTempView("xxx")

持久化/缓存:
df.cache()                          // or
spark.sqlContext.cacheTable("xxx") // or
df.persist(MEMORY_AND_DISK) // or
spark.sql("CACHE TABLE xxx")

然后我移动底层 xxx.csv , 和:
spark.sql("select * from xxx")

对此,我发现只有 CACHE TABLE xxx存储副本。我做错了什么,如何坚持,例如。 DISK_ONLY可查询的 View /表?

最佳答案

首先缓存它,如 df.cache ,然后注册为 df.createOrReplaceTempView("dfTEMP") ,所以现在每次查询都会dfTEMPval df1 = spark.sql("select * from dfTEMP)你将从内存中读取它(对 df1 的第一个操作实际上会缓存它),暂时不用担心持久性,好像 df不适合内存,我会将其余部分溢出到磁盘。

关于sql - Spark 持久化临时 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44046317/

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