提问者:小点点

当使用结构化流查询时,数据库笔记本不会向调用者笔记本返回值


我的被调用者笔记本使用结构化流式传输,然后当从调用者笔记本调用被调用者笔记本时。被调用者笔记本不会向调用者笔记本返回任何值。在这里您可以看到导致问题的代码片段。

这是我的被叫笔记本

val query = data.writeStream.outputMode("append")
     .format("delta").option("checkpointLocation", checkpointPath)
     .option("mergeSchema", "true").trigger(Trigger.Once)
     .start(sinkPath)
    
dbutils.notebook.exit("Return something") 

呼叫者笔记本调用此被呼叫者笔记本并返回无,即使被呼叫者笔记本执行到结束,但退出消息不会返回呼叫者笔记本。有人有任何想法或经历类似的问题吗?


共1个答案

匿名用户

这是由Database ricks笔记本中结构化流支持的实现细节引起的“功能”。即使您使用Trigger. once,也会发生这种情况,并且期望该工作将完成。

如果你需要从笔记本返回一些数据,你可以创建全局临时视图,或者类似的东西。如果你需要返回数据来记录日志,那么最好直接从笔记本日志。其中一个原因是可以返回的数据量有限(我不记得了,可能1kascii字符)