我在Spark 2.2.0上,在EMR上运行.
我有一个很大的数据帧df(40G左右的压缩snappy文件),它由键k1和分区k2.
df
k1
k2
当我通过k1=== v1或(k1=== v1&& k2 ===v2`)查询时,我可以看到它只查询分区中的文件(大约2%的文件).
v1
k2 ===
但是,如果我缓存或持久存在 df,突然这些查询会击中所有分区,并且要么会耗尽内存,要么性能要低得多.
这是一个很大的惊喜 - 有没有办法进行缓存,以保留分区信息
apache-spark
apache-spark ×1