如何将Python连接到Spark会话并保持RDDs的Ali

2024-06-20 15:01:52 发布

您现在位置:Python中文网/ 问答频道 /正文

如何让一个小Python脚本钩住Spark的现有实例并对现有rdd执行操作?在

我正在Windows10上使用Spark的早期阶段,在“本地”实例上尝试脚本。我正在使用Spark的最新稳定版本(hadoop2.7的spark2.0.1)。我已经为hadoop2.7.3安装并设置了环境变量。我正在试用pysparkshell和使用Python的visualstudio2015社区。在

我正在尝试构建一个大型引擎,在这个引擎上我将运行单个脚本来加载、按摩、格式化和访问数据。我相信这是一种正常的方法,这不是火花点吗?在

总之,这是我迄今为止的经验。这通常是意料之中的。当我用Python构建一个小的Spark脚本并使用visualstudio运行它时,该脚本将运行、执行其任务并退出。在退出的过程中,它还退出了它使用的Spark上下文。在

所以我有以下想法:如果我在Pyspark中启动一个持久的Spark上下文,然后在每个Python脚本中设置SparkConf和SparkContext来连接到该Spark上下文呢?因此,在网上查找Pyspark的默认设置,我尝试了以下方法:

conf = SparkConf().setMaster("local[*]").setAppName("PySparkShell")
sc = SparkContext(conf = conf)

我启动了Pyspark。在visualstudio中的另一个脚本中,我将此代码用于SparkContext。我将一个文本文件加载到一个名为RDDFromFilename的RDD中。但脚本运行后,我无法访问pysparkshell中的RDD。在

如何启动一个持久的Spark上下文,在一个Python脚本中创建一个RDD,然后从后续的Python脚本访问该RDD?尤其是在窗户里?在


Tags: 实例方法引擎脚本conf阶段sparkpyspark
2条回答

对于那些可能跟随的人:我最近发现了SnappyData。在

SnappyData还相当年轻,还有一些学习曲线,但它承诺要做的是创建一个持久的可变SQL集合,可以在多个Spark作业之间共享,并且可以作为RDD和DataFrame进行本机访问。它有一个作业服务器,您可以将并发作业转储到该服务器上。在

它本质上是GemFire内存数据库与位于同一个JVM中的Spark集群的组合,因此(当我能够很好地管理它时)我可以在没有单机瓶颈的情况下完成大型任务,也可以在另一个Spark程序在同一数据上运行时进行实时数据操作。在

我知道这是我自己的答案,但我可能不会把它标记为答案,直到我变得足够成熟,对它如何解决我的问题有了自己的看法。在

火花没有解决办法。您可以考虑:

我认为只有齐柏林飞艇正式支持Windows。在

相关问题 更多 >