Отправить в несколько тем Кафка раковина с флинк - PullRequest
0 голосов
/ 25 мая 2018

У меня есть поток данных, например:

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

Я понятия не имею, как это сделать, другим способом.спасибо за вашу помощь.

1 Ответ

0 голосов
/ 25 мая 2018

Возможно, вы установили key.serializer и value.serializer в своих свойствах.Вы не должны этого делать, потому что таким образом вы перезаписываете сериализаторы (ByteArraySerializer s), используемые внутри Flink.Удалите эти свойства, и ваш код должен работать.

...