У меня есть StructType: val st = StructType(Seq(StructField("idType", StringType, false), StructField("idString", StringType, true)))
, который моделирует следующий класс дел:
case class ID(idType: String, idString: Option[String] = None)
Я хочу использовать следующую инструкцию выбора для фрейма данных: df.select(Seq(col("ID").cast(st): _*)
Это работает, если существуют idType
и idString
, но не если idType
существует, а idString
нет.Если idString
не существует, но idType
существует, я хочу, чтобы idString
был установлен в ноль.Как этого достичь?