我正在编写一个spark程序,我们将从数据库中读取1亿条记录。
我们正在从JDBC读取数据并创建DF。我想缓存DF,因为它将在多次迭代和计算中使用。
我的问题是,如果我使用DF cachetable(),数据将只保存在内存中。因为数据库读取是昂贵的,我不想再次读取失败的情况下
在RDD持久功能,我们有保存RDD到磁盘的选项?我们可以在数据帧缓存中做到这一点吗?我不想失去缓存表的优化也
它将使用MEMORY_AND_DISK
:
def cache(): Dataset.this.type
使用默认存储级别(MEMORY_AND_DISK)持久化此数据集。