如何强制从json读取Spark DataFrame的数据类型

时间:2016-11-10 23:58:14

标签: json apache-spark spark-dataframe

当我将一个json(没有架构)读取到DataFrame时,所有数字类型都将为Long。有没有办法在不提供完全指定的json架构的情况下强制执行Integer类型?

1 个答案:

答案 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))