我正在尝试在 Spark 中运行 Python 脚本。我在客户端模式(即单节点)下运行 Spark,其中包含pandas
通过 Conda 安装的一些依赖项(例如)的 Python 脚本。有各种资源涵盖此用例,例如:
- https://conda.github.io/conda-pack/spark.html
- https://databricks.com/blog/2020/12/22/how-to-manage-python-dependencies-in-pyspark.html
以这些为例,我在 Sparkbin
目录中通过以下命令运行 Spark,其中/tmp/env.tar
包含的 Conda 环境是conda-pack
:
export PYSPARK_PYTHON=./environment/bin/python
./spark-submit --archives=/tmp/env.tar#environment script.py
Spark 抛出以下异常:
java.io.IOException: Cannot run program "./environment/bin/python": error=2, No such file or directory
为什么这不起作用?我对 Python 路径中的 也很好奇./
,因为不清楚 Spark 在哪里解压 tar 文件。我假设我不需要将 tar 文件加载到 HDFS 中,因为这一切都在单个节点上运行(但也许我在集群模式下这样做?)。