1. 程式人生 > >scala.MatchError: Null (of class scala.reflect.internal.Types$TypeRef$$anon$6)

scala.MatchError: Null (of class scala.reflect.internal.Types$TypeRef$$anon$6)

scala語法中,若遇到一個rdd轉成df時,當rdd中有null時,可能會遇到以下異常:

scala.MatchError: Null (of class scala.reflect.internal.Types$TypeRef$$anon$6)

遇到這種異常的原因主要是scala中並不知道要將null轉換成何種型別,因此可採用以下兩種方案解決:

1.強制轉換:null.asInstanceOf[String],我們可以強制將null轉換成我們希望的型別,這樣就避免了型別模糊的問題了

2.用case class:定義好case class也就相當於賦予了強型別,這樣也可以避免

根本原因是Null不能作為df的列型別