如何通过 pyspark 运行 bash 命令?



我正在尝试通过Python在Spark上运行bash命令。

我当前的简单代码如下:

import subprocess
print("Test start")
subprocess.Popen("conda install numpy=1.15.2 -n python35env--yes", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).wait()
print("Test end")

上面的代码已成功执行,我确实看到了打印语句"测试开始"和"测试结束",但是numpy包没有安装在python35env环境中。

我是否缺少在 Spark 工作器节点中运行 conda install bash 命令的任何重要内容? 甚至在驱动程序节点上?

您可以尝试从可执行文件目录运行它。默认情况下,子进程从系统运行它。

subprocess.Popen("conda install numpy=1.15.2 -n python35env--yes", shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, cwd = 'your conda excutable path')

使用子进程。

例:

import subprocess    
result = subprocess.getoutput('<bash command>')

最新更新