繁体   English   中英

使用Flink发送多个主题Kafka Sink

[英]Send in multiple topic kafka sink with flink

我有一个像这样的数据流:

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.serializervalue.serializer 您不应该这样做,因为这样会导致您覆盖Flink内部使用的序列化器( ByteArraySerializer )。 删除这些属性,您的代码应该可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM