要修改Spark DataFrame的列类型,可以使用"withColumn()"、"cast转换函数"、"selectExpr()"以及SQL表达式。需要注意的是,要转换的类型必须是DataType类的子类。
在Spark中,我们可以将DataFrame列修改(或转换)为以下类型,它们都是DataType类的子类:ArrayType
BinaryType
BooleanType
CalendarIntervalType
DateType
HiveStringType
MapType
NullType
NumericType
ObjectType
StringType
StructType
TimestampType
示例
1、创建一个DataFrame。
import org.apache.spark.sql._
import org.apache.spark.sql.types._
// 创建RDD
val simpleData = Seq(
Row("James",34,"2006-01-01","true","M",3000.60),
Row("Michael",33,"1980-01-10","true","F",3300.80),
Row("Robert",37,"1992-06-01","false","M",5000.50)
)
val simp