SparkSQL-Rdd转化DataFrame-通过StructType为字段添加Schema
开发环境
spark-2.1.0-bin-hadoop2.6
Rdd转换成DataFrame,为字段添加列信息
参数 nullable 说明:Indicates if values of this field can be null
values
val schema = StructType(List(
StructField("name", StringType, nullable = false),
StructField("age", IntegerType, nullable = true),
StructField("money", DoubleType, nullable = true),
StructField("hobbies", DataTypes.createArrayType(StringType), nullable = true)
)
)
val flatMapDF = sparkSession.createDataFrame(flatMapRdd, schema)
特别注意
Array类型数据,需要通过 DataTypes.createArrayType(StringType) 生成相应 DateType类型数据,而不能使用ArrayType。否则会产生如下报错: