Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop Apache Spark DataFrame是否为每次处理都从DB加载数据,还是使用相同的数据,除非另有说明?_Hadoop_Apache Spark_Apache Spark Sql - Fatal编程技术网

Hadoop Apache Spark DataFrame是否为每次处理都从DB加载数据,还是使用相同的数据,除非另有说明?

Hadoop Apache Spark DataFrame是否为每次处理都从DB加载数据,还是使用相同的数据,除非另有说明?,hadoop,apache-spark,apache-spark-sql,Hadoop,Apache Spark,Apache Spark Sql,我们有一个用例,需要搜索满足特定条件的特定记录。我们需要识别多个这些条件的记录。我们计划使用ApacheSpark数据帧。Apache Spark dataframes是否会为我们计划执行的每个搜索从db加载表数据,还是会在Spark群集节点之间加载并分发表数据一次,然后在这些节点上运行搜索条件,直到显式通知它从db加载数据?如果使用.cache()或.persist()命令创建数据帧,然后它将尝试在内存中持久化数据帧 如果您不使用.cache创建它,那么它将根据需要从源数据集读入数据 如果没有

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

如果使用.cache()或.persist()命令创建数据帧,然后它将尝试在内存中持久化数据帧

如果您不使用.cache创建它,那么它将根据需要从源数据集读入数据

如果没有足够的内存来保存缓存中的完整数据集,Spark将动态地重新计算一些块

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


查看(数据帧也是如此)以更好地了解您可以做什么。

我不太确定我是否理解您正在尝试做什么。一旦执行了第一个操作,就会创建数据帧。数据帧是不可变的。