Apache Spark DataFrame是否为每个处理从DB加载数据,或者是否使用相同的数据,除非另有说明



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

如果您使用.cache()或.persist()命令创建Dataframe,那么它将尝试在内存中持久化该Dataframe。

如果你不使用。cache创建它,那么它会根据需要从源数据集中读取数据。

如果没有足够的内存来容纳缓存中的全部数据集,那么Spark将在运行中重新计算一些块。

如果您的源数据集不断变化,那么您可能希望首先创建一个相当静态的导出数据集。

请查看Spark RDD持久化文档(对于DataFrames也是一样的),以便更好地理解您可以做什么。

相关内容

  • 没有找到相关文章

最新更新