scala - 使用火花隐式时避免进口税
问题描述
在我的测试中,我有一个测试特征来提供火花上下文:
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,因为实现类已经扩展了一个抽象类)。
有没有办法做到这一点?
解决方案
推荐阅读
- c# - 在存储库模式中使用构造函数的困惑
- php - 为 WordPress 创建 Dockerfile 的正确方法
- python-3.x - PYQT QPushButton 对象到 QML 并返回
- javascript - 复杂字符串转换为 JSON 格式
- javascript - 将数组拆分为多个值
- java - Long.getLong(s)、Long.valueOf(s)、Long.parseLong(s) 之间的区别,其中“s”是字符串类型
- gcloud - gcloud ml vision 和多个命令
- php - php wordpress中的换行符不起作用
- windows - UWP Webview Contenteditable div
- asp.net-mvc - 根据 ViewBag 值启用/禁用 Html.ActionLink