是否有可能获得已经运行的火花应用程序的sparkcontext?

时间:2016-02-02 23:40:25

标签: apache-spark pyspark pyspark-sql

我在Amazon EMR上使用yarn作为集群管理器运行spark。我正在尝试编写一个python应用程序,它启动并缓存内存中的数据。如何允许其他python程序访问该缓存数据,即

我启动了一个应用程序Pcache - >缓存数据并保持该应用运行。 另一个用户可以访问运行不同实例的相同缓存数据。

我的理解是应该可以处理已经运行的sparkContext并访问该数据?那可能吗?或者我是否需要在该Spark应用程序之上设置API以访问该数据。或者可以使用像Livy的Spark Job Server这样的东西。

2 个答案:

答案 0 :(得分:0)

无法在多个进程之间共享SparkContext。实际上,您的选择是自己构建API,其中一个服务器持有SparkContext并且客户端告诉它如何处理它,或者使用Spark Job Server这是它的通用实现。

答案 1 :(得分:-1)

我认为这可以帮到你。 :)

classmethod getOrCreate(conf=None)
Get or instantiate a SparkContext and register it as a singleton object.

Parameters: conf – SparkConf (optional)

http://spark.apache.org/docs/latest/api/python/pyspark.html#pyspark.SparkContext.getOrCreate