可以通过以下方式编写PySpark代码并使用spark-submit
:
.py
文件:spark-submit hello.py
--py-files
和驱动程序文件spark-submit --py-files hello.egg driver.py
的egg或zip文件,其中driver.py
调用hello
包中的函数要在本地工作,egg的requirements.txt
文件中的软件包和driver.py
中的软件包必须已安装在本地计算机上。
但是在星火集群上呢?鸡蛋不包含实际的依赖关系。它仅包含有关需要哪些软件包的信息。如果您使用的是非标准库(例如pandas),则需要使用pip
在群集上安装这些软件包。
我想在向同一集群提交的不同提交中使用不同版本的熊猫-0.24.2
和0.25.0
。在整个集群中本地安装熊猫,然后用另一个版本替换它似乎并不理想。有没有在虚拟环境中执行此操作的干净方法?