Я хочу иметь функцию для динамического выбора столбцов искровых Dataframe по их типу данных.
До сих пор я создал:
object StructTypeHelpers {
def selectColumnsByType[T <: DataType](schem: StructType):Seq[String] = {
schem.filter(_.dataType.isInstanceOf[T]).map(_.name)
}
}
, чтобы StructTypeHelpers. selectColumnsByType[StringType](df.schema)
работал.Тем не менее, компилятор предупреждает меня, что:
abstract type T is unchecked since it is eliminated by erasure
При попытке использовать:
import scala.reflect.ClassTag
def selectColumnsByType[T <: DataType: ClassTag](schem: StructType):Seq[String]
происходит сбой с
No ClassTag available for T
Как мне егоработать и компилировать без предупреждения?