因此,根据众所周知的火花虫/设计限制https://issues.apache.org/jira/browse/SPARK-2243,您无法拥有多个SparkContexts。现在,我正在做这个非常丑陋的python和Scala的混合,我有一个Scala方法,期望SparkContext作为参数。我可以以某种方式在py4j
中实例化此Scala对象,然后将其传递给pyspark的SparkContext(在pyspark shell中导出为sc
)。我的理解是sc
是一个围绕Scala对象的瘦包装器,但是我无法弄清楚如何将它转换为java / scala类并将其作为参数传递给我的Scala方法。
答案 0 :(得分:2)
您可以在Scala中调用SparkContext.getOrCreate()
来获取PySpark创建的有效SparkContext
。