库不可用导致工作失败

学习如何解决砖工作失败造成的不可用的库。

写的亚当Pavlacka

去年发表在:2022年5月11日

问题

您正在启动工作导入外部库,导入错误。

工作原因节点重新启动时,工作失败,并显示以下错误消息:

ImportError:没有模块名为XXX

导致

集群管理器是砖的一部分服务管理客户Apache火花集群。它发送命令来安装Python和R库时每个节点重启。有时,图书馆安装或从网上下载的工件可以比预期更多的时间。这发生由于网络延迟,或者发生如果被连接到集群的图书馆有许多依赖库。

图书馆安装机制保证笔记本连接到一个集群时,它可以导入安装库。当库安装在PyPI花过多的时间,图书馆前的笔记本连接到集群安装完成。在这种情况下,笔记本无法导入库。

解决方案

方法1

在笔记本上使用notebook-scoped库安装命令。您可以输入以下命令在一个细胞,它确保所有安装指定的库。

% sh dbutils.library.installPyPI (mlflow) dbutils.library.restartPython ()

方法2

AWS

为了避免延迟从网上下载的库存储库,您可以缓存库DBFS和S3。

例如,您可以下载Python库的车轮或蛋文件DBFS或S3的位置。您可以使用REST API或集群级init脚本安装库DBFS或S3。

首先,从互联网下载车轮或蛋文件DBFS和S3的位置。这可以在一个笔记本如下:

删除

Azure

为了避免延迟从网上下载的库存储库,您可以缓存DBFS或Azure Blob存储库。

例如,您可以下载Python库的车轮或蛋文件DBFS或Azure Blob存储位置。您可以使用REST API或集群级init脚本安装从DBFS或Azure Blob存储库。

首先,从互联网下载车轮或蛋文件DBFS和Azure Blob存储位置。这可以在一个笔记本如下:

删除
% sh cd / dbfs / mnt /图书馆wget < whl / egg-file-location-from-pypi-repository >

轮或蛋文件下载完成后,您可以安装图书馆集群使用REST API, UI,或init脚本命令。

这篇文章有用吗?