Apache spark spark.DynamicLocation.enabled如何影响作业顺序?

Apache spark spark.DynamicLocation.enabled如何影响作业顺序?,apache-spark,Apache Spark,需要了解何时使用spark.DynamicLocation.enabled-使用它的优点和缺点是什么?我有一个提交作业的队列 上午9:30-->作业A在启用DynamicLocation的情况下提交 上午10:30-->作业B在启用DynamicLocation的情况下提交 注意:我的数据量很大(将对10GB数据进行转换处理) 哪个作业优先将执行者分配到作业A或作业B,spark如何协调B/w 2应用程序?动态分配执行者是关于调整执行者池的大小 引述: spark.dynamicAllocati

需要了解何时使用spark.DynamicLocation.enabled-使用它的优点和缺点是什么?我有一个提交作业的队列

  • 上午9:30-->作业A在启用DynamicLocation的情况下提交
  • 上午10:30-->作业B在启用DynamicLocation的情况下提交
  • 注意:我的数据量很大(将对10GB数据进行转换处理)


    哪个作业优先将执行者分配到作业A或作业B,spark如何协调B/w 2应用程序?

    动态分配执行者是关于调整执行者池的大小

    引述:

    spark.dynamicAllocation.enabled是否使用动态资源分配,它根据工作负载上下扩展在此应用程序中注册的执行者数量

    后来在:

    Spark提供了一种机制,可以根据工作负载动态调整应用程序占用的资源。这意味着,如果不再使用资源,您的应用程序可能会将资源返还给集群,并在以后有需求时再次请求这些资源。如果多个应用程序共享Spark群集中的资源,此功能尤其有用

    换句话说,作业A通常会在作业B执行之前完成。火花作业通常按顺序执行,即一个作业必须在另一个作业开始之前完成

    通常

    是线程安全的,可以处理来自Spark应用程序的作业。这意味着您可以同时提交作业或一个接一个地提交作业,在某些配置中,这两个作业将并行运行

    引述:

    在给定的Spark应用程序(SparkContext实例)中,如果多个并行作业是从单独的线程提交的,则它们可以同时运行。在本节中,我们所说的“作业”是指Spark操作(例如保存、收集)以及需要运行以评估该操作的任何任务。Spark的调度程序是完全线程安全的,并支持此用例,以支持服务于多个请求(例如,多用户查询)的应用程序

    默认情况下,Spark的调度程序以FIFO方式运行作业。每个作业分为“阶段”(例如,映射和减少阶段),第一个作业在所有可用资源上获得优先级,而其阶段有任务要启动,然后第二个作业获得优先级,等等

    还可以配置作业之间的公平共享。在公平共享下,Spark以“循环”方式在作业之间分配任务,以便所有作业获得大致相等的集群资源份额。这意味着在长作业运行时提交的短作业可以立即开始接收资源,并且仍然可以获得良好的响应时间,而无需等待长作业完成。此模式最适合多用户设置


    结束

    哪项作业优先分配执行者到作业A或作业B,spark如何协调B/w 2应用程序

    工作A

    除非您已启用:

    公平调度程序还支持将作业分组到池中,并为每个池设置不同的调度选项(例如权重)。例如,这有助于为更重要的作业创建“高优先级”池,或者将每个用户的作业分组在一起,并为用户提供相等的共享,而不管他们有多少并发作业,而不是为作业提供相等的共享


    动态分配执行者是关于调整执行者池的大小

    引述:

    spark.dynamicAllocation.enabled是否使用动态资源分配,它根据工作负载上下扩展在此应用程序中注册的执行者数量

    后来在:

    Spark提供了一种机制,可以根据工作负载动态调整应用程序占用的资源。这意味着,如果不再使用资源,您的应用程序可能会将资源返还给集群,并在以后有需求时再次请求这些资源。如果多个应用程序共享Spark群集中的资源,此功能尤其有用

    换句话说,作业A通常会在作业B执行之前完成。火花作业通常按顺序执行,即一个作业必须在另一个作业开始之前完成

    通常

    是线程安全的,可以处理来自Spark应用程序的作业。这意味着您可以同时提交作业或一个接一个地提交作业,在某些配置中,这两个作业将并行运行

    引述:

    在给定的Spark应用程序(SparkContext实例)中,如果多个并行作业是从单独的线程提交的,则它们可以同时运行。在本节中,我们所说的“作业”是指Spark操作(例如保存、收集)以及需要运行以评估该操作的任何任务。Spark的调度程序是完全线程安全的,并支持此用例,以支持服务于多个请求(例如,多用户查询)的应用程序

    默认情况下,Spark的调度程序以FIFO方式运行作业。每个作业分为“阶段”(例如,映射和减少阶段),第一个作业在所有可用资源上获得优先级,而其阶段有任务要启动,然后第二个作业获得优先级,等等

    还可以配置作业之间的公平共享。在公平共享下,Spark以“循环”方式在作业之间分配任务,以便所有作业获得大致相等的集群资源份额。这意味着在长作业运行时提交的短作业可以立即开始接收资源,并且仍然可以获得良好的响应时间,而无需等待长作业完成。此模式最适合多用户设置


    结束

    哪项工作在将执行者分配给工作A或工作B时获得优先权?spark如何协调