【问题标题】:Azure Synapse - How to stop an Apache Spark application / notebook?Azure Synapse - 如何停止 Apache Spark 应用程序/笔记本?
【发布时间】:2022-06-16 19:47:56
【问题描述】:

当我在 Azure Synapse Analytics 中运行(在调试模式下)Spark 笔记本时,它似乎没有按预期关闭。

在我调用的最后一个单元格中:mssparkutils.notebook.exit("exiting notebook")

但是当我启动另一个笔记本时(再次在调试模式下,相同的池),我收到此错误:

AVAILABLE_COMPUTE_CAPACITY_EXCEEDED:Livy 会话失败。会话状态:错误。错误代码:AVAILABLE_COMPUTE_CAPACITY_EXCEEDED。您的工作需要 12 个 vcore。但是,在 12 个 vcore 的配额中,池中只有 0 个 vcore 可用。尝试结束池中正在运行的作业,减少请求的 vcore 数量,增加池的最大大小或使用另一个池。来源:用户。

所以我转到 Monitor => Apache Spark 应用程序,我看到我运行的第一个笔记本仍处于“正在运行”状态,我可以手动停止它。

如何自动停止 Notebook / Apache Spark 应用程序?我以为是 notebook.exit() 调用,但显然不是......

【问题讨论】:

  • 您是在管道内还是在调试模式下(在笔记本内)运行笔记本?
  • 我认为处于调试模式。开发 => + Notebook,然后编写代码。也许这是按预期工作的,我一次只能在一个笔记本上开发? (或者分配更多的核心,或者在开头用 %%config {} 单元格指定“不要使用我所有的核心”?)我不知道我在做什么,谢谢你的帮助!
  • 谢谢,澄清一下:两个笔记本都处于调试模式(也在问题中添加),都在同一个池中

标签: scala apache-spark azure-synapse spark-notebook


【解决方案1】:

在调试模式下,集群的 vcore 在整个调试期间(即一小时不活动或直到您手动终止它)提供给笔记本

因此,您有两种选择: 一次在一个笔记本上工作,在开始另一个之前关闭调试

配置会话以减少执行器的数量,以便 spark 集群可以同时提供所有三种调试模式(可能需要增加集群的大小)

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 2022-07-27
    • 2021-12-05
    • 2021-08-16
    • 2022-12-01
    • 2022-12-11
    • 2022-12-02
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多