2016-05-23 58 views
2

我有以下代碼試圖合併兩行:特徵行是抽象的;不能被實例化

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更換new Row(z) -scala可能會幫助你。 –

回答

1

你應該Row.fromSeq(z)

+0

我正面臨類似的情況,但我的Java是Java,看起來像Java沒有Row.fromSeq(z),我該如何實現這一點?謝謝! – FisherCoder