Невозможно преобразовать объект scala в искровой фрейм данных - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть объект scala, передаваемый методу dashBoardInsert, и я провел перекрестную проверку, что я получаю данные через параметр.

Теперь я хочу преобразовать его в dataframe, ноЯ получаю сообщение об ошибке ниже:

 def dashBoardInsert(data: TripHistoryData) {

    println("seven..")


     println("data= " + data.asset_id)

   var Seq2=sc.parallelize(Seq(data.service_id,data.asset_id,"odometer", "calculated",data.odometer,new Date(System.currentTimeMillis()), new Date(System.currentTimeMillis()), data.asset_serial_no))


   import sparkSession.implicits._
val df1 = Seq2.toDF("data.service_id","data.asset_id","odometer", "calculated","data.odometer","new Date(System.currentTimeMillis())","new Date(System.currentTimeMillis())", "data.asset_serial_no"))
 -----------------------------------------------------------------------------
 Error:

  value toDF is not a member of org.apache.spark.rdd.RDD[Comparable[_ >: java.util.Date with String with Long <: Comparable[_ >: java.util.Date with String with Long <: java.io.Serializable] with java.io.Serializable] with java.io.Serializable]

Пожалуйста, помогите мне решить проблему.

1 Ответ

0 голосов
/ 27 сентября 2018

Вы создаете фрейм данных с различными типами элементов внутри.

Seq(data.service_id,data.asset_id,"odometer", "calculated",data.odometer,new Date(System.currentTimeMillis()), new Date(System.currentTimeMillis()), data.asset_serial_no) равен Seq[Any], но вам нужно Seq с кортежем внутри него.

Вы должны написать:

val tuple = (data.service_id,data.asset_id,"odometer", "calculated",data.odometer,new Date(System.currentTimeMillis()), new Date(System.currentTimeMillis()), data.asset_serial_no)
val local = Seq(tuple)
var distrebuted = sc.parallelize(localSeq)
val df = distrebuted.toDF("data.service_id","data.asset_id","odometer", "calculated","data.odometer","new Date(System.currentTimeMillis())","new Date(System.currentTimeMillis())", "data.asset_serial_no")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...