如何解决Scala:从具有无类型、无参数抽象方法的特征继承案例类
对于此示例,假设 spark: SparkSession
对象在范围内。我计划使用 InputSource 和 pureconfig
来轻松解析不同的配置设置:此 MWE 中的表或文件路径并返回数据帧。 loadDF
不需要接受任何参数,因为所需的一切都可以从案例类中获得。
import org.apache.spark.sql.DataFrame
object InputSource {
sealed trait InputType {
def loadDF: DataFrame
}
case class TableSource(tableName: String,filter: String) extends InputType {
def loadDF: DataFrame = {
spark.table(tableName).where(filter)
}
}
case class FileSource(filePath: String,format: String,filter: String) extends InputType {
def loadDF: DataFrame = {
spark.read.format(format).load(filePath).where(filter)
}
}
}
我看过很多博客文章、关于多态性、特征、抽象方法和类的 Scala 教程和文档,以及很多 SO 文章。但是,我无法弄清楚这一点。
错误:特征不能从类 AnyRef 重新定义最终方法 def loadDF: 数据帧
sealed trait DeequChecks {
def configConstraint[C <: Check](check: C): CheckWithLastConstraintFilterable
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。