[SparkSQL] Rdd转化DataFrame 通过StructType为字段添加Schema

1、开发环境

spark-2.1.0-bin-hadoop2.6

2、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)

3、特别注意

Array类型数据,需要通过 DataTypes.createArrayType(StringType) 生成相应 DateType类型数据,而不能使用ArrayType。否则会产生如下报错:

你可能感兴趣的:([SparkSQL] Rdd转化DataFrame 通过StructType为字段添加Schema)