首先,我在谈论Apache spark。 我知道我可以用这种方式提交我的python应用程序。
bin/spark-submit myApp.py
问题是这是一个shell命令行。但我想要的是使用python来调用它。我想使用python来调用计算过程并获得结果。 我知道我可以这样做
import os
os.system("bin/spark-submit myApp.py")
但我认为这不是一个好方法。还有其他方法可以做到这一点吗?
此致 明伟
答案 0 :(得分:0)
我认为您需要使用spark-submit
。如果你看SparkSubmit.scala
,你可以看到它做了很多事情。您可以阅读该代码并按照自己的方式自行设置,但该设置可能无法与下一版本的Spark一起使用。 spark-submit
是保证跨版本工作的唯一方法。
这一般不应该是非常有限的。您可以拥有长时间运行的Spark应用程序。我正在处理的应用程序是一个也运行Spark作业的Web服务器,它也是以spark-submit
开头的。
答案 1 :(得分:-1)
去火花方向。 并编写此代码
./bin/pyspark
之后你会这样。
NFO BlockManagerMaster: Trying to register BlockManager
15/10/15 11:51:43 INFO BlockManagerMasterActor: Registering block manager localhost:34663 with 265.0 MB RAM, BlockManagerId(<driver>, localhost, 34663)
15/10/15 11:51:43 INFO BlockManagerMaster: Registered BlockManager
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__ / .__/\_,_/_/ /_/\_\ version 1.2.0
/_/
Using Python version 2.7.6 (default, Jun 22 2015 17:58:13)
SparkContext available as sc.
感谢。