java.lang.String is not a valid external type for schema of double

這裏是數據類型不匹配導致的

    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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章