Apache spark 在Spark中配置default.deserialization.exception.handler
Kafka提供了Apache spark 在Spark中配置default.deserialization.exception.handler,apache-spark,spark-streaming,Apache Spark,Spark Streaming,Kafka提供了StreamsConfig.DEFAULT\u DESERIALIZATION\u EXCEPTION\u HANDLER\u CLASS\u CONFIG参数,以使用不同于仅崩溃和烧毁的默认值的DeserializationExceptionHandler。我将此参数添加到传递给Spark的KafkaUtils.createDirectStream()的ConsumerStrategy: kafkaParams.put(StreamsConfig.DEFAULT_反序列化_异常
StreamsConfig.DEFAULT\u DESERIALIZATION\u EXCEPTION\u HANDLER\u CLASS\u CONFIG
参数,以使用不同于仅崩溃和烧毁的默认值的DeserializationExceptionHandler
。我将此参数添加到传递给Spark的KafkaUtils.createDirectStream()的ConsumerStrategy
:
kafkaParams.put(StreamsConfig.DEFAULT_反序列化_异常_处理程序_类_配置,LogAndContinueExceptionHandler.CLASS);
consumerStrategy=ConsumerStrategies.Subscribe(主题集,kafkaParams);
KafkaUtils.createDirectStream(streamingContext,
LocationStrategies.PreferConsistent(),
消费者战略);
日志文件报告此警告,并且应用程序在收到毒药丸消息时仍会崩溃和燃烧:
ConsumerConfig:提供了配置“default.deserialization.exception.handler”,但不是已知的配置
我不清楚StreamsConfig
和ConsumerConfig
之间是否存在差异。如果有,我还没有找到任何方法将StreamsConfig
传递到KafkaUtils.createDirectStream()
任何帮助都将不胜感激
kafkaParams.put( StreamsConfig.DEFAULT_DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG, LogAndContinueExceptionHandler.class );
consumerStrategy = ConsumerStrategies.<String, byte[]>Subscribe( topicsSet, kafkaParams );
KafkaUtils.createDirectStream( streamingContext,
LocationStrategies.PreferConsistent(),
consumerStrategy );