我知道我需要初始化Spark Context才能在PySpark中创建弹性分布式数据集(RDD)。但是,不同的来源提供了有关执行此操作的不同代码。要一劳永逸地解决此问题,正确的代码是什么?
1)来自教程点的代码:https://www.tutorialspoint.com/pyspark/pyspark_sparkcontext.htm
from pyspark import SparkContext
sc = SparkContext("local", "First App")
2)来自Apache的代码:https://spark.apache.org/docs/2.2.0/rdd-programming-guide.html#resilient-distributed-datasets-rdds
from pyspark import SparkContext, SparkConf
然后,在页面的后面,有:
conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)
这些只是两个示例。我可以列出更多内容,但是对我来说,主要问题是缺乏对如此简单和基本内容的统一性。请帮助和澄清。
在local[N]
中-N是在任何时间点的节点中可以使用的最大内核数。这将使用您的本地主机资源。
在群集模式下(当您指定主节点IP时),您可以设置--executor-cores N
。这意味着每个执行者在一个执行者中最多可以同时运行N个任务。
并且当您不指定应用程序名称时,可以将其保留为空白,或者可以创建一个随机名称。我正在尝试获取setAppName()
的源代码,但找不到任何肉