init 脚本在 databricks 笔记本中运行良好,但在附加到集群时失败
Posted
技术标签:
【中文标题】init 脚本在 databricks 笔记本中运行良好,但在附加到集群时失败【英文标题】:The init script works fine in databricks notebook but fails when attached to cluster 【发布时间】:2020-11-19 00:45:12 【问题描述】:我想将初始化脚本(具有所有库依赖项)与数据块中的交互式集群附加在一起。初始化脚本类似于下面的附件,在 databricks 笔记本中运行良好。
我希望这个 shell 脚本在集群启动时运行,但是当我将它配置为集群的初始化脚本时,它会返回一个错误。这是我将初始化脚本附加到集群的方式,
错误看起来像这样,
我发现url 讨论了同样的问题,但此处提供的解决方案(将文件的扩展名从 .sh 更改为 .bash)对我不起作用。请帮我解决这个问题。
【问题讨论】:
【参考方案1】:请移除多余的 (
"
) 以成功安装初始化脚本。
根据我的重现:我使用了与上面相同的代码。
结果:集群终止原因:初始化脚本失败
删除多余的引号后 ("
)。
结果: Init_Scripts 已成功安装。
【讨论】:
非常感谢!即使盯着这个 bash 脚本几个小时后,我也无法弄清楚这到底有什么问题。 很高兴知道它有帮助。【参考方案2】:我遇到了同样的问题,但我的问题是我使用了sudo apt install something
,一段时间后我意识到我需要添加-y
标志,因为该命令需要用户输入。所以尽量避免用户输入命令或添加如下标志:
sudo apt install -y package
【讨论】:
以上是关于init 脚本在 databricks 笔记本中运行良好,但在附加到集群时失败的主要内容,如果未能解决你的问题,请参考以下文章
检查是不是在 databricks 笔记本或 ont 上工作
如何在 python 中比较 Databricks 笔记本中的两个模式
有没有办法在 Databricks 上测试我的 Pyspark 笔记本
如何使用 Python / Pyspark 在 Databricks 笔记本中合并数据帧