答案 0 :(得分:1)
这是预期的行为。 Spark不支持它不支持多个SparkContexts
。作为参考,相应的JIRA(SPARK-2243)已被解析为“未修复”。
用于测试的JVM特定spark.driver.allowMultipleContexts
在Python(https://stackoverflow.com/a/28260286)和quoting Josh Rosen中从未受到支持:
在某些情况下,多个活动上下文可能会偶然起作用,因此我们将新配置添加为临时逃生舱并用于测试; 用户通常不应启用该标记,因为仅禁用错误检查,而实际上并未启用对多个上下文的正确支持。
答案 1 :(得分:0)
您只能拥有一个Spark Context,当您打开shell时,会为您创建上下文,因此您无需创建它。如果您编写独立应用程序,则必须创建自己的上下文。这适用于RDD API。
如果您使用DataFrames或数据集,那么您可以拥有多个Spark Sessions,它们将共享相同的上下文,但会为您提供独立的视图。