Apache spark apachespark数据局部性算法

Apache spark apachespark数据局部性算法,apache-spark,scheduling,bigdata,Apache Spark,Scheduling,Bigdata,我想知道在调度任务时,用于使spark数据位置感知的算法是什么? 我们是否需要像纱线这样的集群管理器来完成这项工作,如果需要,那么调度任务的底层算法是什么呢???这取决于具体情况。如果您的数据是键值对的形式,则Spark通过分区器处理数据位置(通常通过散列键,但您可以定义自定义分区器或使用RangePartitioner根据数据优化位置)。如果您的数据没有获得密钥,那么通常它只是以每个文件的形式保存数据(如果您没有几个大文件,这可能会有问题,因为您可能无法以最佳并行性工作)。如果数据过于分散或过

我想知道在调度任务时,用于使spark数据位置感知的算法是什么?
我们是否需要像纱线这样的集群管理器来完成这项工作,如果需要,那么调度任务的底层算法是什么呢???

这取决于具体情况。如果您的数据是键值对的形式,则Spark通过分区器处理数据位置(通常通过散列键,但您可以定义自定义分区器或使用RangePartitioner根据数据优化位置)。如果您的数据没有获得密钥,那么通常它只是以每个文件的形式保存数据(如果您没有几个大文件,这可能会有问题,因为您可能无法以最佳并行性工作)。如果数据过于分散或过于本地化,则可以分别使用重新分区(numPartitions)和合并(numPartitions)来优化要使用的分区数量

以下是如何创建自定义分区器的示例:


spark是否使用了任何特定的算法对其进行优化?我现在意识到,您在系统级别要求的更多,而不是以编程方式优化负载平衡的实际过程。这个页面应该有你想要的东西