【问题标题】:Run specific virtualenv on dataproc cluster at spark-submit like in vanilla Spark在 spark-submit 上的 dataproc 集群上运行特定的 virtualenv,就像在 vanilla Spark 中一样
【发布时间】:2018-04-08 09:24:06
【问题描述】:

当我在 vanilla spark 集群上运行,并且想要针对特定​​的 virtualenv 运行 pyspark 脚本时,我可以创建虚拟环境,根据需要安装包,然后将环境压缩到一个文件中,比如说 @ 987654321@。

然后,在运行时,我可以执行

spark-submit --archives venv.zip#VENV --master yarn script.py

然后,只要我运行

os.environ["PYSPARK_PYTHON"] = "VENV/bin/python" 在 script.py 中,代码将针对虚拟环境运行,spark 将处理为我的所有集群配置虚拟环境。

当我在 dataproc 上执行此操作时,首先,hadoop 样式的哈希别名不起作用,其次,正在运行

gcloud dataproc jobs submit pyspark script.py --archives venv.zip --cluster <CLUSTER_NAME>

os.environ["PYSPARK_PYTHON"] = "venv.zip/bin/python" 会产生:

Error from python worker: venv/bin/python: 1: venv.zip/bin/python: Syntax error: word unexpected (expecting ")")

它清楚地看到了我的 python 可执行文件,并试图对其运行,但似乎确实存在某种解析错误。是什么赋予了?有什么方法可以将实时 python 可执行文件传递给 dataproc,就像你可以针对 vanilla spark 集群一样?

【问题讨论】:

    标签: pyspark virtualenv google-cloud-dataproc


    【解决方案1】:

    原来我正在跨操作系统分发 python 二进制文件,并且愚蠢到没有注意到我正在这样做,并且不兼容导致了崩溃。

    【讨论】:

      猜你喜欢
      • 2016-02-28
      • 2018-03-31
      • 1970-01-01
      • 2016-07-20
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      相关资源
      最近更新 更多