如何与隐式需要它的方法共享SparkContext

时间:2016-07-14 09:55:18

标签: scala apache-spark

我有以下方法:

def loadData(a:String, b:String)(implicit sparkContext: SparkContext) : RDD[Result]

我正在尝试使用此SharedSparkContexthttps://github.com/holdenk/spark-testing-base/wiki/SharedSparkContext来测试它。

所以,我让我的测试类扩展SharedSparkContext

class Ingest$Test extends FunSuite with SharedSparkContext

在测试方法中,我做了这个电话:

val res: RDD[Result] = loadData("x", "y")

但是,我收到此错误:

Error:(113, 64) could not find implicit value for parameter sparkContext: org.apache.spark.SparkContext
    val result: RDD[Result] = loadData("x", "y")

那么如何才能使测试方法中的SparkContext可见?

编辑: 我不明白这个问题与Understanding implicit in Scala

有什么关系

1 个答案:

答案 0 :(得分:0)

Spark Context的变量名是什么?如果它是sc&#39;通常情况下,您必须将其别名为方法通过(?<=\W|^)\d{5}(-?\d{4})?(?=\W|$)查找的变量名称,然后继续在同一环境中调用您的方法