【问题标题】:How to raise an exception to exit Synapse Apache Spark notebook如何引发异常以退出 Synapse Apache Spark 笔记本
【发布时间】:2021-12-26 16:53:47
【问题描述】:

我正在尝试在失败情况下执行两个操作。

  1. 将表的结果写入 parquet 中的单个文件。
  2. 退出笔记本。

根据结果采取行动

if validation_result["success"]:
    print("Successful")
else:
    (
        spark.sql("Select * from notify_error")
        .coalesce(1)
        .write.format("delta")
        .mode("overwrite")
        .save(lakePath)
    )

从上面可以看出,我正在尝试使用coalesce(1) 创建一个表。 要退出 Synapse 中的笔记本,我相信代码是:

mssparkutils.notebook.exit(returnValue)

但我不是在上面的代码中放置代码的地方。

有什么想法吗?

【问题讨论】:

    标签: apache-spark pyspark azure-synapse


    【解决方案1】:

    你能把raiseValueError一起做吗,例如

    %%pyspark
    
    notebookName = mssparkutils.runtime.context.get('notebookname')
    errorString = f"error in notebook '{notebookName}'"
    
    raiseError = True
    
    if raiseError:
      raise ValueError(errorString)
    

    【讨论】:

    • wBob,感谢您回来。我真的不明白,如何将您的代码与我的要求联系起来
    • 我认为提出错误会导致笔记本退出,但也许我误解了。看看其他人怎么说。
    • 嗨 wBob,如果您误解了,那么这里的其他人可能会误解。基本上,如果if validation_result["success"]: 1. 将数据保存到“湖路径”,我需要做两件事。 2.退出笔记本。我相信退出笔记本的代码是mssparkutils.notebook.exit() 当我输入mssparkutils.notebook.exit() 时,代码要求提供位置参数
    • Bob,我调整了您建议的代码并使其工作。谢谢
    • 哦,好消息,感谢您的确认。如果您认为它更准确地反映了您的解决方案,请随意对我的答案进行投票并提供您自己的答案并将其标记为答案,或者甚至对其进行编辑 - 我不介意!
    猜你喜欢
    • 2022-06-16
    • 2022-07-27
    • 2021-12-05
    • 1970-01-01
    • 2014-09-16
    • 2021-08-16
    • 2016-05-26
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多