Spark 独立群集 - 设置(自定义)依赖项路径



目前,我正在火花集群上运行一个火花流的python脚本。脚本 A 从自定义脚本 B 导入函数,脚本 B 具有依赖文件。例如,该函数搜索字典中是否存在单词,因此程序需要先读取字典。此外,scriptB 利用了多个包,如 Tensorflow、Keras 等。

因此,压缩所有依赖项并通过网络发送它们似乎效率低下。

我想知道是否有办法为 1.python 解释器、2.库 3.worker(从属节点(的依赖文件设置路径??

如果您的依赖项不会更改,并且您可以轻松地在集群上安装内容,那么您只需将所需的文件安装到每个工作线程上即可。 跟踪依赖项的最简单方法是从每个工作人员的需求.txt文件创建 venv。 然后,您只需将 Spark 指向 venv 中的 python 解释,您的所有依赖项都将可用。

要将火花指向特定的解释器,请执行以下任一操作:

A( 在 spark-submit 调用中设置 --conf 'spark.pyspark.python=/some/path/to/python',或者

B( 在 $SPARK_HOME/conf/spark-env.sh 中添加此行

export PYSPARK_PYTHON=/some/path/to/python

最新更新