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
Apache spark 如何确保RDD的某些分区始终由相同的Spark Worker处理?_Apache Spark_Rdd - Fatal编程技术网

Apache spark 如何确保RDD的某些分区始终由相同的Spark Worker处理?

Apache spark 如何确保RDD的某些分区始终由相同的Spark Worker处理?,apache-spark,rdd,Apache Spark,Rdd,我必须定期处理Spark中的大量项目 项目由区域键进行分区 为了处理一个项目,spark worker必须加载一个大型(多GB)内存数据库。每个区域都有一个单独的数据库。因此,每个项目都需要一个区域数据库进行处理 所有区域数据库不能同时放入一个物理节点的内存中。因此,我想在工人中分发这些区域数据库 在辅助程序启动时,它们只应加载一次 我认为,为了让它工作,我必须确保分区总是由相同的工作节点处理 是否有任何保证证明情况如此?要实现这一点,我需要做些什么?为您提供了基本的信息。为什么是RDD?你的术

我必须定期处理Spark中的大量项目

项目由区域键进行分区

为了处理一个项目,spark worker必须加载一个大型(多GB)内存数据库。每个区域都有一个单独的数据库。因此,每个项目都需要一个区域数据库进行处理

所有区域数据库不能同时放入一个物理节点的内存中。因此,我想在工人中分发这些区域数据库

在辅助程序启动时,它们只应加载一次

我认为,为了让它工作,我必须确保分区总是由相同的工作节点处理


是否有任何保证证明情况如此?要实现这一点,我需要做些什么?

为您提供了基本的信息。为什么是RDD?你的术语有点不清楚。在任何情况下,您都需要确保区域适合节点或进一步细分,以避免OOM错误。你有一些代码要分享吗?或者你一般都会问吗?标题有点奇怪。在启动读取磁盘时,您会得到某种形式的分区。然后,您可以使用相同的密钥重新分区这些内容,注意这些密钥,转到工作进程上的同一执行者。一个工作进程可能有许多执行者。