Azure Synapse Spark池Provisioning状态下无法分配工作区包如何解决
报错根因说明
该报错表示你操作时目标Apache Spark池正处于*Provisioning(资源调配)中间状态,此状态下不支持任何配置修改操作,包括工作区包分配,仅当池状态变为Succeeded(成功)*时才能正常修改配置。
分步解决方法
- 等待池状态同步完成
进入Azure Synapse工作区左侧「管理」栏,选择「Apache Spark池」目录,在列表中查看目标池的实时状态。首次创建的Spark池Provisioning过程通常耗时3~10分钟,调整过节点规格、自动缩放配置的池等待时间会稍长,等状态显示为「在线/成功」后再执行包分配操作即可。 - 排查长时间停留在Provisioning的异常
如果等待15分钟以上池状态仍未更新,可以通过Azure PowerShell查询池的实际状态,执行命令:Get-AzSynapseSparkPool -WorkspaceName <替换为你的工作区名称> -Name <替换为目标Spark池名称>
如果返回结果中ProvisioningState字段为Succeeded,则为工作区前端显示延迟,刷新页面即可;如果确实仍处于Provisioning状态,执行以下命令触发状态强制同步:Update-AzSynapseSparkPool -WorkspaceName <替换为你的工作区名称> -Name <替换为目标Spark池名称> -Force - 重新执行包分配操作
池状态恢复正常后,进入目标Spark池的配置页面,切换到「包」选项卡,从已上传的工作区包列表中选中需要的wheel文件,保存配置后池会进入短暂的滚动更新阶段,更新完成后包即分配成功。
操作注意事项
- 包分配配置保存后,Spark池会进入*Updating(更新中)*状态,此阶段不要提交作业、修改其他池配置,避免出现状态冲突导致操作失败。
- 单次分配的工作区包建议不超过20个,单包体积超过100MB的wheel文件建议上传到工作区关联的ADLS存储,通过作业级配置单独引用,避免池启动时间大幅拉长。
内容的提问来源于stack exchange,提问作者Bhanu Prakash
相关产品推荐
相关产品推荐

