我有一个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
设置为null。如何实现?