当我将一个json(没有架构)读取到DataFrame时,所有数字类型都将为Long。有没有办法在不提供完全指定的json架构的情况下强制执行Integer类型?
答案 0 :(得分:1)
您可以将数据框转换为具有案例类
的数据集val df = Seq((1,"ab"),(3,"ba")).toDF("A","B")
case class test(A: Int, B: String)
df.as[test]
或者您复制了该列并重新设置了DF。
import org.apache.spark.sql.types.{StringType}
df.withColumn("newA", 'A.cast(StringType))