Scla/Java 库在执行 Databricks Notebook 时未安装



在工作中,我有一个Scala Databricks Notebook,它使用了许多库导入,包括来自Maven和一些JAR文件。我遇到的问题是,当我在此笔记本上计划作业时,它有时会失败(完全随机,但主要是 10 次运行中的 1 次),因为它在安装所有库之前执行单元。因此,作业失败,我必须手动启动它。这个Databricks产品的这种表现远非专业,因为我不能在生产中使用它,因为它有时会失败。

我试图在所有导入之前放置 1 分钟左右的Thread.Sleep(),但它并没有改变任何东西。对于Python来说,有dbutils.library.installPyPI("library-name")但是在Dbutils文档中没有Scala这样的东西。

那么有没有人遇到过同样的问题,如果是这样,你是如何解决的?

谢谢!

简单地说,对于生产计划作业,请使用New Job Cluster并避免All Purpose Cluster

New Job Clusters是在运行任务时创建和启动并在任务完成后立即终止的专用集群。在生产环境中,Databricks 建议使用新群集,以便每个任务在完全隔离的环境中运行。

在 UI 中,设置笔记本作业时,选择一个New Job Cluster然后将所有依赖库添加到作业中。

New Job Cluster的定价是不同的。我会说它最终更便宜。

注意:使用 Databricks 池来减少集群启动和自动缩放时间(如果一开始就存在问题)。

最新更新