当前位置: 首页 > 知识库问答 >
问题:

星火星系团的“局域能级”是什么意思

谯英彦
2023-03-14

标题“本地级别”和5个状态数据本地-->进程本地-->节点本地-->机架本地-->任何是什么意思?

共有1个答案

林鸿飞
2023-03-14

据我所知,本地级别指示执行了哪种类型的数据访问。当一个节点完成了所有的工作,并且它的CPU变得空闲时,Spark可能会决定启动其他需要从其他地方获取数据的挂起任务。因此,理想情况下,您的所有任务都应该是本地进程,因为它与较低的数据访问延迟相关联。

您可以使用以下方法配置移动到其他地区级别之前的等待时间:

spark.locality.wait

有关参数的更多信息可以在Spark配置文档中找到

  /**
   * Dequeue a pending task for a given node and return its index and locality level.
   * Only search for tasks matching the given locality constraint.
   */
  private def findTask(execId: String, host: String, locality: TaskLocality.Value)
    : Option[(Int, TaskLocality.Value)] =
  {
    for (index <- findTaskFromList(execId, getPendingTasksForExecutor(execId))) {
      return Some((index, TaskLocality.PROCESS_LOCAL))
    }

    if (TaskLocality.isAllowed(locality, TaskLocality.NODE_LOCAL)) {
      for (index <- findTaskFromList(execId, getPendingTasksForHost(host))) {
        return Some((index, TaskLocality.NODE_LOCAL))
      }
    }

    if (TaskLocality.isAllowed(locality, TaskLocality.RACK_LOCAL)) {
      for {
        rack <- sched.getRackForHost(host)
        index <- findTaskFromList(execId, getPendingTasksForRack(rack))
      } {
        return Some((index, TaskLocality.RACK_LOCAL))
      }
    }

    // Look for no-pref tasks after rack-local tasks since they can run anywhere.
    for (index <- findTaskFromList(execId, pendingTasksWithNoPrefs)) {
      return Some((index, TaskLocality.PROCESS_LOCAL))
    }

    if (TaskLocality.isAllowed(locality, TaskLocality.ANY)) {
      for (index <- findTaskFromList(execId, allPendingTasks)) {
        return Some((index, TaskLocality.ANY))
      }
    }

    // Finally, if all else has failed, find a speculative task
    findSpeculativeTask(execId, host, locality)
  }
 类似资料:
  • 问题内容: 在Python中像在C中一样具有特殊含义吗?我在Python Cookbook中看到了这样的函数: 你能向我解释一下还是指出我在哪里可以找到答案(Google将解释为通配符,因此我找不到令人满意的答案)。 问题答案: 假设知道位置和关键字参数是什么,下面是一些示例: 范例1: 如你在上面的示例中所见,函数签名中仅包含参数。由于d和k不存在,因此将它们放入字典。该程序的输出为: 范例2:

  • 有一些类似的问题,比如这个和这个,但他们不能给我足够的帮助。下面是我的一段代码。 下面是一段输出。 我想以排序的形式输出。我尝试了

  • 我有5个节点的quartz集群环境,我不确定quartz调度器如何负载平衡作业,主要是我看到所有的作业没有得到适当的分散。请您告诉我,有没有一种方法可以很容易地从quartz集群中删除一个节点,这样作业就不会从该集群运行,或者如果某个大型作业正在运行,那么其他作业就不会从该集群启动,简而言之,我们可以暂停一个集群中的quartz作业吗?我使用的是jdbcsore。请在下面找到我的石英属性。我的qu

  • 我正在编写一个java项目,在这个项目中,我有Graph类和其他表示图形和点的类...(这对我的问题并不重要) 我编写了两个函数,用于打印特定的图形名称和其他用于图形的基本函数 我还编写了一个函数: 这个函数应该打印它的名字给出的图形中的所有节点! 之后,我们运行使用的测试,这些测试基本上在测试的预期输出(即给我们的)和实际输出(我写的代码的输出)之间进行比较。 jUnit总是告诉我函数的预期输出

  • 问题内容: 我今天在看一个css文件,发现以下规则集: 星号在 padding和 line-height中是什么意思? 谢谢。 问题答案: 这是“star property hack”,与“underscore hack.”相同。它在IE忽略的属性之前包括垃圾(*最多适用于IE 7,_最多适用于IE 6)。