步骤如下(以公开电影数据集分析为案例):
1、读取文件,得到RDD
val userRDD = sc.textFile(dataPath+"users.dat")
2、定义DataFrame的结构,也就是列名,数据类型
val schemaForUsers = StructType( "UserId::Gender::Age::OccupationID::Zip-code".split("::").map(x => StructField(x, StringType, true)) )
3、将RDD的每行数据转换成DataFrame的每一行
val usersRDDRows = userRDD.map(_.split("::")).map( line => { Row(line(0).trim,line(1).trim,line(2).trim,line(3).trim,line(4).trim) })
4、使用SparkSession创建DataFrame
val usersDataFrame = SparkSession.builder().config(conf).getOrCreate() .createDataFrame(usersRDDRows,schemaForUsers)