我在Amazon EMR上使用yarn作为集群管理器运行spark。我正在尝试编写一个python应用程序,它启动并缓存内存中的数据。如何允许其他python程序访问该缓存数据,即
我启动了一个应用程序Pcache - >缓存数据并保持该应用运行。 另一个用户可以访问运行不同实例的相同缓存数据。
我的理解是应该可以处理已经运行的sparkContext并访问该数据?那可能吗?或者我是否需要在该Spark应用程序之上设置API以访问该数据。或者可以使用像Livy的Spark Job Server这样的东西。
答案 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