是否可以获得已经运行的 spark 应用程序的 sparkcontext?
Posted
技术标签:
【中文标题】是否可以获得已经运行的 spark 应用程序的 sparkcontext?【英文标题】:Is it possible to get sparkcontext of an already running spark application? 【发布时间】:2016-02-02 23:40:24 【问题描述】:我在 Amazon EMR 上运行 spark,使用 yarn 作为集群管理器。我正在尝试编写一个 python 应用程序来启动并在内存中缓存数据。如何允许其他 python 程序访问缓存的数据,即
我启动一个应用程序 Pcache -> 缓存数据并保持该应用程序运行。 另一个用户可以访问运行不同实例的相同缓存数据。
我的理解是应该可以处理已经运行的 sparkContext 并访问该数据?那可能吗?或者我是否需要在该 Spark 应用程序之上设置一个 API 来访问该数据。或者可以使用 Livy 的 Spark Job Server 之类的东西。
【问题讨论】:
【参考方案1】:无法在多个进程之间共享 SparkContext。实际上,您的选择是自己构建 API,一台服务器持有 SparkContext,其客户端告诉它如何处理它,或者使用 Spark Job Server,这是相同的通用实现。
【讨论】:
【参考方案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
【讨论】:
始终欢迎提供指向潜在解决方案的链接,但请add context around the link,以便您的其他用户知道它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。考虑到仅仅是指向外部站点的链接是Why and how are some answers deleted? 的一个可能原因。以上是关于是否可以获得已经运行的 spark 应用程序的 sparkcontext?的主要内容,如果未能解决你的问题,请参考以下文章