2016-05-23 4 views
2

instanziiert habe ich den folgenden Code zwei Zeilen zu fusionieren versuchen:Merkmal Zeile ist abstrakt; kann nicht

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) 
     } 
    } 

Und ich habe die Fehler:

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

Wer weiß, wie dies konnte ich beheben? Vielen Dank!

+0

http://stackoverflow.com/questions/28108107/how-to-create-a-row-from-a-list-or-array-in-spark-using ersetzen -scala könnte dir helfen. –

Antwort

1

Sie sollten new Row(z) mit Row.fromSeq(z)

+0

Ich bin mit einem ähnlichen Szenario konfrontiert, aber meiner ist in Java, sieht aus wie Java nicht Row.fromSeq (z), wie kann ich das bitte erreichen? Vielen Dank! – FisherCoder