SBT kann Kafka-Encoder / Decoder-Klassen nicht importieren

7

Projekteinrichtung:

  • 1 Produzent - serialisiert Objekte & amp; sendet Bytes an Kafka
  • 1 Spark Consumer - sollte DefaultDecoder in kafka.serializer verwenden Paket, um Bytes zu verbrauchen

Problem:

  • SBT importiert korrekte Bibliotheken (kafka-clients + kafka_2.10) aber ist Im kafka_2.10 jar konnten keine Klassen gefunden werden.
  • Es scheint, als ob es auf dem falschen Weg sucht (org.apache.spark.streaming.kafka statt org.apache.kafka).

Fehlermeldung: :

%Vor%

sbt-tree

%Vor%

built.sbt:

%Vor%     
mds91 04.04.2016, 08:22
quelle

2 Antworten

19

Das hat nichts mit SBT zu tun. Sie haben wahrscheinlich etwas wie

%Vor%

Da org.apache.spark.streaming.kafka package vorhanden ist, wird dieser Import in org.apache.spark.streaming.kafka.serializer.DefaultDecoder aufgelöst. Sie können die korrekte Klasse wie folgt importieren: import _root_.kafka.serializer.DefaultDecoder . Weitere Informationen zu Scala-Importen finden Sie Ссылка .

    
Alexey Romanov 04.04.2016, 08:32
quelle
0

Sie müssen "kafka.serializer.StringDecoder" vor "import org.apache.spark.streaming._" importieren. Reihenfolge des Imports kann das Problem beheben.

funktioniert -

%Vor%

Ausnahme -

%Vor%     
Syntax 24.02.2018 20:00
quelle