這裏是數據類型不匹配導致的
val schemaforratings = StructType("UserId::MovieID".split("::")
.map(column => StructField(column,StringType,true)))
.add("Rating",DoubleType,true) //這裏的DoubleType而與它對應的line中的類型是String
.add("Timestamp",StringType,true)
val ratingsRDDRows = ratingsRDD.map(_.split("::"))
.map(line => Row(line(0).trim,line(1).trim,line(2).trim,line(3).trim)) //所以要在line(2)後面加上.toDouble
val ratingsDataFrame = spark.createDataFrame(ratingsRDDRows,schemaforratings)