Scala 与flink一起发送多主题卡夫卡接收器

Scala 与flink一起发送多主题卡夫卡接收器,scala,apache-kafka,apache-flink,kafka-producer-api,flink-streaming,Scala,Apache Kafka,Apache Flink,Kafka Producer Api,Flink Streaming,我有一个数据流,如: DataStream[myTuple(topic, value)] 我想在相关主题中发送一个特定值 所以我试着做这样的事情: new FlinkKafkaProducer010[myTuple]( "default_topic", new KeyedSerializationSchema[myTuple](){ override def getTargetTopic(element: myTuple): String = element.topic

我有一个数据流,如:

DataStream[myTuple(topic, value)]
我想在相关主题中发送一个特定值

所以我试着做这样的事情:

new FlinkKafkaProducer010[myTuple](
  "default_topic",
  new KeyedSerializationSchema[myTuple](){
    override def getTargetTopic(element: myTuple): String = element.topic
    override def serializeKey(element: myTuple): Array[Byte] = null
    override def serializeValue(element: myTuple): Array[Byte] = new SimpleStringSchema().serialize(element.value)
  },
  properties)
但它不起作用,我有一个警告:

WARN  org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducerBase  - Overwriting the 'key.serializer' is not recommended
WARN  org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducerBase  - Overwriting the 'value.serializer' is not recommended
换句话说,我不知道怎么做。
谢谢您的帮助。

您可能在属性中设置了
key.serializer
value.serializer
。您不应该这样做,因为这样会覆盖Flink内部使用的序列化程序(
ByteArraySerializer
s)。删除这些属性,您的代码应该可以正常工作。

在属性中,我只添加了
引导。服务器
请仔细检查,因为警告消息明确指出您确实需要……我修复了我的问题:问题是我试图为每个条目打开kafka连接