Azure Databricks 群集初始化脚本 - 从已安装的存储安装轮

Posted

技术标签:

【中文标题】Azure Databricks 群集初始化脚本 - 从已安装的存储安装轮【英文标题】:Azure Databricks cluster init script - Install wheel from mounted storage 【发布时间】:2020-07-19 15:28:20 【问题描述】:

我有一个 python ***上传到安装在 databricks 服务中的 azure 存储帐户。我正在尝试使用数据块documentation 中描述的集群初始化脚本来安装***。

我的存储空间肯定已经挂载,而且我的文件路径对我来说看起来是正确的。在笔记本中运行命令display(dbutils.fs.ls("/mnt/package-source")) 会产生结果:

path: dbfs:/mnt/package-source/parser-3.0-py3-none-any.whl
name: parser-3.0-py3-none-any.whl

我尝试使用以下命令从集群初始化文件安装***:

/databricks/python/bin/pip install "dbfs:/mnt/package-source/parser-3.0-py3-none-any.whl"

但集群无法启动。它的日志给我一个错误,说它找不到文件:

WARNING: Requirement 'dbfs:/mnt/package-source/parser-3.0-py3-none-any.whl' looks like a filename, but the file does not exist
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/dbfs:/mnt/package-source/parser-3.0-py3-none-any.whl'

我也试过这样:

/databricks/python/bin/pip install /mnt/package-source/parser-3.0-py3-none-any.whl

但我收到类似的错误:

WARNING: Requirement '/mnt/package-source/parser-3.0-py3-none-any.whl' looks like a filename, but the file does not exist
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/mnt/package-source/parser-3.0-py3-none-any.whl'

我什至尝试过使用相对路径,例如../../mnt/package-source/...,但无济于事。谁能告诉我我做错了什么?

相关问题:Azure Databricks cluster init script - install python wheel

【问题讨论】:

【参考方案1】:

我使用相对路径让它工作。事实证明../../mnt/ 不是正确的路径。它使用../../../dbfs/mnt/ 工作。只需使用 bash ls 命令探索文件系统即可找到它。

对于遇到同样问题的其他人,我建议从笔记本中的类似内容开始:

%%sh
ls ../../../

【讨论】:

如果您想使用完整路径,请尝试在单元格中使用pwd,然后从那里找出挂载点的位置。就我而言,我一直在寻找/FileStore,它位于/dbfs/FileStore/,一旦我用我的cwd 解决了.. 路径部分以创建绝对路径。 (/dbfs/mnt/ 也在场。)

以上是关于Azure Databricks 群集初始化脚本 - 从已安装的存储安装轮的主要内容,如果未能解决你的问题,请参考以下文章

Azure Databricks:如何在 Databricks 群集中添加 Spark 配置

Azure Databricks:此群集的运行时版本不支持

火花作业中的 Azure databricks 群集错误:ExecutorLostFailure

在 Azure Databricks Notebook 上检索群集不活动时间

当我们重新启动 Azure Databricks 群集时,内部会发生啥?

在 Azure 中检查 Databricks 运行时的版本