5

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

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

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

4

2 回答 2

0

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

于 2016-02-03T10:29:01.350 回答
-2

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

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

于 2017-02-06T08:37:48.633 回答