2016-05-23 2 views
2

я следующий код пытается объединить две строки:trait Row - абстрактный; не может быть создан

import org.apache.spark.sql._ 

    def mergeRow(row1:Row, row2:Row):(Boolean, Row)= { 
     var z:Array[String] = new Array[String](row1.length) 
     var hasDiff = false 
     : 
     : 
     if (hasDiff) { 
      (true, new Row(z)) 
     } else { 
      (true, row2) 
     } 
    } 

И я получил ошибки:

error: trait Row is abstract; cannot be instantiated 
      (true, new Row(z)) 

Кто-нибудь знает, как я могу это исправить? Благодаря!

+0

http://stackoverflow.com/questions/28108107/how-to-create-a-row-from-a-list-or-array-in-spark-using -scala может вам помочь. –

ответ

1

Вы должны заменить new Row(z) с Row.fromSeq(z)

+0

Я столкнулся с похожим сценарием, но мой находится на Java, похоже, что у Java нет Row.fromSeq (z), как я могу достичь этого, пожалуйста? Благодаря! – FisherCoder

Смежные вопросы