Scala "nimic de suprascrie" eroare

I faced this weird problem while writing a mapreduce job for Hbase in Scala. The problem is that my scala class lets say ScalaMapReducer has to extends the following class http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapper.html

Dar atunci când fac acest lucru și "suprascrie" metoda hărții (mostenit din formularul superclasar Mapper of TableMapper), scala se plânge cu eroarea "harta suprascrie nimic" și nu reușește să compileze, în timp ce pot face acest lucru fără probleme în Java.

Am găsit următoarele soluții:

1) Definiți o clasă Java Dummy care extinde clasa TableMapper și suprascrie hartă cu unele implementări goale. Și acum de la scală se extind această clasă Dummy.

2) Am găsit acest lucru pe goole workaround care definește o trăsătură Mappers.

Deși eu sunt ghicitul acest lucru poate avea ceva de-a face cu clase interioare, dar i dont într-adevăr au mai multe idee și explication.

( Aceasta este o întrebare generală Scala )

EDIT: Sample Code from my scala class,

class ScalaMapReducer extends TableMapper[Text,IntWritable]
{
    override def map(row:ImmutableBytesWritable,result:Result,context:Context):Unit  =
    {
        //..some code
    }
}
0
Vă rog să adăugați un exemplu de cod care ilustrează eroarea?
adăugat autor drexin, sursa

2 răspunsuri

Eroarea cea mai probabilă pe care ați făcut-o (și pe care ați făcut-o ), pe baza informațiilor furnizate (adică fără cod!), Este una dintre parametrii de tip greșit folosiți. De exemplu, dacă interfața definește o metodă:

public interface I { public void doStuff(T t); }

Poate ați fi implementat după cum urmează:

class I0 extends I[String] { override def doStuff[String](String s) }
                                              //^^^^^^  ^^^^^^
                                              //oops, a type parameter

Deși nu pot fi sigură că nu ne-ați arătat codul. Dacă sunteți utilizând un IDE , de ce nu îi cereți să completeze o implementare necompletată? (folosind IDEA, acesta este CTRL-i )

0
adăugat

Eroarea hartă suprascrie nimic este aproape întotdeauna din cauza neconcordanței în cheie, tip de valoare în hartă și reducerea definițiilor. Verificați dublu că, de asemenea, un exemplu de cod ar putea ajuta la o mai bună depanare.

0
adăugat