python - Pyspark - 缓存和联合
问题描述
我正在运行这样的代码:
def cache_and_union(df1, df2):
df1.cache()
df = df1.union(df2)
return df.collect()
出于某种原因,在执行 collect 方法时,不会执行和使用缓存(既不会分阶段出现,也不会出现存储)。为什么会发生这种情况?
解决方案
从这个代码示例来看,您实际上并没有cache
以任何方式使用。cache
建议Spark df1 会被多次使用,所以它应该被缓存,而不是每次都重新计算。在您的代码示例中,您只是加入 df1 并进行收集。
推荐阅读
- html - R格式化设置行高
- algorithm - 任何代码块的运行时间复杂度
- python - Python 的 StaleElementException
- python - 使用 boto3 和 ftplib 将文件从 FTP 复制到 S3 存储桶失败,并出现“500 语法错误,命令无法识别”
- shell - Shell命令在jenkins管道中不起作用
- javascript - 如何生成随机的经度和纬度?
- excel - 如何使用 VBA 定义单元格中的字符是数字、字母还是特殊字符?
- vue.js - Vuetify v-tabs 显示箭头不可点击
- linq - 不支持表达式。林奇
- python - 在子列表的大树中查找特定值