使用火花隐式时避免进口税

时间:2018-08-05 15:20:10

标签: scala apache-spark apache-spark-sql

在我的测试中,我有一个测试特征来提供火花上下文:

trait SparkTestTrait {
    lazy val spark: SparkSession = SparkSession.builder().getOrCreate()
}

问题是我需要在每个测试函数中添加一个导入:

test("test1) {
  import spark.implicits._
}

通过在SparkTestTrait中添加以下内容,我设法将其减少到每个文件上:

object testImplicits extends SQLImplicits {
  protected override def _sqlContext: SQLContext = spark.sqlContext
}

,然后在实现文件的构造函数中:

import testImplicits._

但是,我希望将这些隐式导入所有实现SparkTestTrait的类中(我不能让SparkTestTrait扩展SQLImplicits,因为实现类已经扩展了抽象类)。

有没有办法做到这一点?

0 个答案:

没有答案