我在Spark中有一个非常大的DataFrame,对它进行操作需要很长时间。
它有10M行。
我想对它进行采样,以便我可以更快地测试,所以我正在尝试:
val redux = df.limit(1000)
redux.cache
我认为这会持续只有1K行的数据帧。
但是运行redux.count
例如仍然需要太长时间(3分钟)。
我在带有6 GB RAM(来自DataBricks)的8工作箱上运行。
我做错了吗?
谢谢!
答案 0 :(得分:2)
答案是:
缓存执行缓存,因此即使第一次“计数”操作需要一些时间,后续操作也会更快。
对T. Gaweda的信用