【发布时间】:2021-03-10 18:05:06
【问题描述】:
我在 Pyspark (Databricks) 中看到奇怪的行为,其中新笔记本中的 SQL 查询返回结果,但是当我将 LIMIT 100 应用于 SQL 或 limit(100) 应用于数据帧时,我没有得到任何结果(而我希望看到前 100 个)。
在使用相同SELECT * FROM VIEW_XYZ 运行的单独笔记本中,我应用limit(100),然后缓存()数据帧。这可能是一个因素?完全不同的笔记本,但相同的 SQL 查询。
我假设cache() 过度缓存了查询SELECT * FROM VIEW_XYZ LIMIT 100 及其近两周前的结果。当我的笔记本每小时运行时,这就是该查询返回“无”的时间。
为了检验这个假设,我想“取消缓存”查询/数据帧。如何取消缓存?
编辑:将数据库名称添加到视图 dbname.viewname 修复它。我不知道为什么或如何。
【问题讨论】:
标签: pyspark apache-spark-sql rdd databricks