我正在使用spark从主题kafka中获取数据。我必须使用KafkaAvroDeserialaizer反序列化器avro数据。我将kafka用户配置为:
kafkaParams.put("bootstrap.servers", "10.0.4.215:9092");
kafkaParams.put("key.deserializer", io.confluent.kafka.serializers.KafkaAvroDeserializer.class);
kafkaParams.put("value.deserializer",io.confluent.kafka.serializers.KafkaAvroDeserializer.class);
// kafkaParams.put("key.convert", com.datamountaineer.streamreactor.connect.converters.source.JsonSimpleConverter.class);
//kafkaParams.put("value.convert",com.datamountaineer.streamreactor.connect.converters.source.JsonSimpleConverter.class);
kafkaParams.put("group.id", "use_a_separate_group_id_for_each_stream");
kafkaParams.put("auto.offset.reset", "earliest");
kafkaParams.put("enable.auto.commit", false);
但是当我执行代码时,我在线程中有此异常
“流启动” java.lang.NoClassDefFoundError: io / confluent / common / config / ConfigException
有人可以告诉我在哪里可以找到此类def吗?例如,maven依赖扩展。
答案 0 :(得分:0)
您需要以下依赖项: 组:“ io.confluent”,名称:“ common-config”,版本:yourConfluentVersion
答案 1 :(得分:0)
我有同样的问题。我使用了5.1.0
融合平台版本。我检查了compatibility kafka <-> confluent
,发现具有相同兼容性级别的较新版本。我将版本更新为5.1.1
,并为我解决了该问题。
例如: