Pyspark Databrick如何为集群进行自动伸缩

Pyspark Databrick如何为集群进行自动伸缩,pyspark,Pyspark,我有一个DataRicks群集设置,可以自动扩展到12个节点。 我经常观察到Databrick将集群从6个节点扩展到8个节点,然后从8个节点扩展到11个节点,然后从11个节点扩展到14个节点 所以我的问题- 1.为什么要一次添加2-3个节点 2.为什么会触发自动缩放,因为我看到集群上并没有很多作业处于活动状态或处理繁重。CPU使用率相当低。 3.自动缩放时,为什么会让笔记本处于等待状态 4.为什么自动缩放需要8-10分钟 谢谢 我试图研究为什么数据块在不需要时自动缩放群集创建群集时,可以为群集提

我有一个DataRicks群集设置,可以自动扩展到12个节点。 我经常观察到Databrick将集群从6个节点扩展到8个节点,然后从8个节点扩展到11个节点,然后从11个节点扩展到14个节点

所以我的问题- 1.为什么要一次添加2-3个节点 2.为什么会触发自动缩放,因为我看到集群上并没有很多作业处于活动状态或处理繁重。CPU使用率相当低。 3.自动缩放时,为什么会让笔记本处于等待状态
4.为什么自动缩放需要8-10分钟

谢谢


我试图研究为什么数据块在不需要时自动缩放群集

创建群集时,可以为群集提供固定数量的工作线程,也可以为群集提供最小和最大数量的工作线程

当您提供固定大小的集群时,Databricks确保您的集群具有指定数量的工作者。当您提供工人数量的范围时,Databricks会选择运行作业所需的适当工人数量。这称为自动缩放

通过自动缩放,Databricks会根据您的工作特点动态重新分配工作人员。管道的某些部分可能比其他部分在计算上要求更高,并且Databricks会在工作的这些阶段自动添加额外的工作人员(并在不再需要时将其删除)

自动缩放使实现高集群利用率变得更容易,因为您不需要配置集群来匹配工作负载。这尤其适用于需求随时间变化的工作负载(如在一天中浏览数据集),但也适用于一次性较短的工作负载,其资源调配需求未知。因此,自动缩放提供了两个优点:

  • 与固定大小的服务器相比,工作负载可以运行得更快 资源调配不足的群集
  • 与传统群集相比,自动缩放群集可以降低总体成本 静态大小的集群
Databricks提供两种类型的群集节点自动缩放:标准型和优化型


自动缩放的行为方式 自动缩放的行为不同,这取决于它是优化的还是标准的,以及是应用于交互式集群还是作业集群

优化
  • 分两步从最小值扩展到最大值
  • 通过查看shuffle,即使集群不是空闲的,也可以缩小规模 文件状态
  • 根据当前节点的百分比向下扩展
  • 在作业群集上,如果群集未充分利用,则会缩小规模 最后40秒
  • 在交互式群集上,如果群集未充分利用,则可缩小规模 在过去的150秒内
  • 标准
  • 从添加4个节点开始。此后,按指数增长,但 可以采取许多步骤来达到最大值
  • 仅当群集完全空闲且已关闭时,才会缩小规模 在过去10分钟内未得到充分利用
  • 从1个节点开始,以指数方式向下扩展

  • 嗨,谢谢你提供的细节。如果可能的话,您可以添加更多关于2/3/4查询的内容吗?