0
나는 스칼라 2.1.1, 스파크 2.x를위한 인코더를 정의하려면이 코드를 사용하고 있습니다 :스파크 2.x는 스칼라 2.1.1 사용자 정의 인코더 클래스 형식이 일치
import org.apache.spark.sql.Encoder
import org.apache.spark.sql.types.StructType
class LogProcessorMessageEncoder extends Encoder[LogProcessorMessage] {
override def schema: StructType = null
override def clsTag: Class[LogProcessorMessage] = classOf[LogProcessorMessage]
}
object LogProcessorMessage {}
class LogProcessorMessage extends Serializable {}
그리고 인 IntelliJ는 괜찮 말한다 하지만, 컴파일러 에러의 clsTag 방법 결과의 대체 :
Error:(20, 15) overriding method clsTag in trait Encoder of type => scala.reflect.ClassTag[dvn.aast.telemetry.scala.stream.LogProcessorMessage];
method clsTag has incompatible type
override def clsTag: Class[LogProcessorMessage] = classOf[LogProcessorMessage]
이것을'classTag [LogProcessorMessage]'로 작성할 수 있습니다 ('ClassTag'와 함께'ClassTag' 만 가져 오기하면됩니다). –
두 분 모두 고맙습니다! 원래의 def는 IntelliJ에 의해 생성되었습니다 - 리턴 타입을보다 면밀히 검토해야했습니다. 무리 감사. – absmiths