Jos*_*ide 5 python apache-spark visual-studio-2015 pyspark
如何让一个小的 Python 脚本挂钩到现有的 Spark 实例并对现有的 RDD 进行操作?
我正处于在 Windows 10 上使用 Spark 的早期阶段,在“本地”实例上尝试脚本。我正在使用 Spark 的最新稳定版本(Spark 2.0.1 for Hadoop 2.7)。我已经为 Hadoop 2.7.3 安装并设置了环境变量。我正在用 Python 试验 Pyspark shell 和 Visual Studio 2015 社区。
我正在尝试构建一个大型引擎,我将在该引擎上运行单独的脚本来加载、处理、格式化和访问数据。我确定有一种正常的方法可以做到这一点;这不是Spark的重点吗?
无论如何,这是我迄今为止的经验。这通常是可以预料的。当我在 Python 中构建一个小型 Spark 脚本并使用 Visual Studio 运行它时,该脚本会运行、完成其工作并退出。在退出的过程中,它也退出了它正在使用的 Spark Context。
所以我有以下想法:如果我在 Pyspark 中启动一个持久的 Spark 上下文,然后在每个 Python 脚本中设置我的 SparkConf 和 SparkContext 以连接到该 Spark 上下文会怎样?因此,在网上查找 Pyspark 的默认值时,我尝试了以下操作:
conf = SparkConf().setMaster("local[*]").setAppName("PySparkShell")
sc = SparkContext(conf = conf)
Run Code Online (Sandbox Code Playgroud)
我开始了 Pyspark。在 Visual Studio 的单独脚本中,我将此代码用于 SparkContext。我将一个文本文件加载到名为 RDDFromFilename 的 RDD 中。但是一旦脚本运行,我就无法在 Pyspark shell 中访问该 RDD。
如何启动一个持久的 Spark 上下文,在一个 Python 脚本中创建一个 RDD,并从后续的 Python 脚本访问该 RDD?特别是在 Windows 中?
小智 4
Spark中没有解决方案。您可以考虑:
要保持持久化 RDD:
要保持持久的共享上下文:
要与笔记本共享上下文:
我认为其中只有 Zeppelin 正式支持 Windows。