如何使用子进程将数据帧作为参数发送到具有 Spark-submit 的 python 脚本。我尝试了下面的代码,但没有成功,因为我们无法连接字符串和对象。
def spark_submit(self, test_cases, email):
command = 'spark-submit TestRunner.py '+test_cases+" "+email
print(command)
process = subprocess.Popen([command], shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
output, error = process.communicate()
status = process.returncode
print(status)```
您不能连接任何不是字符串(或转换为字符串(的内容。我假设您不能直接将数据帧作为命令行参数传递,因此我建议将其转换为文件并传递文件路径而不是数据帧本身。
df.to_csv('mydf.csv')
command = 'spark-submit TestRunner.py mydf.csv ' + email