如何引发异常以退出 Synapse Apache Spark 笔记本
Posted
技术标签:
【中文标题】如何引发异常以退出 Synapse Apache Spark 笔记本【英文标题】:How to raise an exception to exit Synapse Apache Spark notebook 【发布时间】:2021-12-26 16:53:47 【问题描述】:我正在尝试在失败情况下执行两个操作。
-
将表的结果写入 parquet 中的单个文件。
退出笔记本。
根据结果采取行动
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)
但我不是在上面的代码中放置代码的地方。
有什么想法吗?
【问题讨论】:
【参考方案1】:你能把raise
和ValueError
一起做吗,例如
%%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,我调整了您建议的代码并使其工作。谢谢
哦,好消息,感谢您的确认。如果您认为它更准确地反映了您的解决方案,请随意对我的答案进行投票并提供您自己的答案并将其标记为答案,或者甚至对其进行编辑 - 我不介意!以上是关于如何引发异常以退出 Synapse Apache Spark 笔记本的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Azure Synapse Analytics 将自定义 Python 库导入到 Apache Spark 池中?
Apache Zeppelin:使用 z.run() 从另一个运行段落会引发空指针异常
Azure Synapse 管道:如何将增量更新从 SQL Server 移动到 Synapse 以处理数字