Я пытаюсь импортировать типы из искры SQL следующим образомОшибка импорта типов из искрового SQL
импорт org.apache.spark.sql.types._
Но я получаю ошибки, такие как: " не найдено: значение DataType», "не найдено: тип ByteType"
полный код
import java.math.BigDecimal
import java.sql.{Timestamp, Date}
import org.apache.spark.sql.types._
/**
* Utility functions for type casting
*/
object TypeCast {
/**
* Casts given string datum to specified type.
* Currently we do not support complex types (ArrayType, MapType, StructType).
*
* @param datum string value
* @param castType SparkSQL type
*/
def castTo(datum: String, castType: DataType): Any = {
castType match {
case _: ByteType => datum.toByte
case _: ShortType => datum.toShort
case _: IntegerType => datum.toInt
case _: LongType => datum.toLong
case _: FloatType => datum.toFloat
case _: DoubleType => datum.toDouble
case _: BooleanType => datum.toBoolean
case _: DecimalType => new BigDecimal(datum.replaceAll(",", ""))
case _: TimestampType => Timestamp.valueOf(datum)
case _: DateType => Date.valueOf(datum)
case _: StringType => datum
case _ => throw new RuntimeException(s"Unsupported type: ${castType.typeName}")
}
}
Предположительно вы/не получая ошибку при импорте, но позже. Покажите нам код. И «not found: * value * DataType» предполагает, что компилятор не ожидает типа в этой точке ... –
обновил исходный вопрос – EugeneMi
Я не получаю ошибку «not found: value DataType», также из внешнего вида в источнике IntType и т. д. являются объектами case, а не типами/классами. –