apachespark dataframe是否为每个处理从db加载数据,或者除非另有说明,它是否使用相同的数据?

py49o6xq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(277)

我们有一个用例,需要搜索满足特定条件的特定记录。我们需要识别这些记录中的多个条件。我们计划使用apachesparkDataframe。apache spark dataframes是为我们计划执行的每个搜索从db加载表数据,还是在spark集群节点之间加载并分发表数据一次,然后在这些节点上运行搜索条件,直到显式地告诉它从db加载数据?

wtzytmuj

wtzytmuj1#

如果使用.cache()或.persist()命令创建Dataframe,则它将尝试将Dataframe持久化到内存中。
如果您不使用.cache创建它,那么它将根据需要从源数据集读入数据。
如果没有足够的内存在缓存中保存完整的数据集,那么spark将动态地重新计算一些块。
如果源数据集不断变化,那么您可能需要首先创建一个相当静态的导出数据集。
请看一下spark rdd persist文档(对于dataframes也是如此),以便更好地了解您可以做什么。

相关问题