问题
你的Python函数定义在一个定制的鸡蛋或轮文件,也依赖另一个满意的客户包安装在集群。
当你调用这个函数,它返回一个错误,说不能满足要求。
org.apache.spark。SparkException:进程列表(/ local_disk0 / pythonVirtualEnvDirs / virtualenv d82b31df - 1 - da3 - 4 ee9 - 864 d - 8 d1fce09c09b / bin / python / local_disk0 / pythonVirtualEnvDirs / virtualenv d82b31df - 1 - da3 - 4 ee9 - 864 d - 8 d1fce09c09b / bin /皮普,安装、分形= = 0.1.0——disable-pip-version-check)退出代码1。无法找到一个版本满足需求分= = 0.1.0(版本:0.1.1、0.1.2 0.2.1,0.2.2,0.2.3,0.2.4,0.2.5,0.2.6虽然只是0.2.7,0.2.8,0.2.9,0.3.0)
作为一个例子,假设您已经安装了两个轮子和轮子B,集群通过UI或通过notebook-scoped库。假设轮有一个依赖轮B。
- dbutils.library.install (/ path_to_wheel / A.whl)
- dbutils.library.install (/ path_to_wheel / B.whl)
当你试图打电话使用这些库之一,你会得到一个要求不能满足误差。
导致
即使要求遭到了安装所需的依赖项,通过集群UI或通过notebook-scoped库安装、砖不能保证特定库的顺序安装在集群。如果图书馆被引用,它没有被分配给执行器节点,将后备PyPI并在本地使用它来满足需求。
解决方案
您应该使用一个鸡蛋或轮文件,其中包含所有需要的代码和依赖关系。这将确保你的代码有正确的库在运行时加载和可用。