Size: a a a

2020 March 16

ὦan in pro.kafka
У Гамова есть статья https://www.confluent.io/blog/schema-registry-avro-in-spring-boot-application-tutorial/
И я недоумеваю
источник

AK

Alexey Karchevski in pro.kafka
Привет товарищи. А Confluent Data flow умеет строить полный граф связей и логически объединять producer и consumer group?
источник

AK

Alexey Karchevski in pro.kafka
Сорри, если вопрос тупой - из документации это не очень понятно
источник
2020 March 17

VG

Vik Gamov in pro.kafka
на сколько я помню если в листенер получаешь ConsumerRecord to config props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, true); не нужен. если в листенер надо PartnerMessage то тогда надо
источник

ὦan in pro.kafka
Vik Gamov
на сколько я помню если в листенер получаешь ConsumerRecord to config props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, true); не нужен. если в листенер надо PartnerMessage то тогда надо
Все равно пишет что не может скастануть строку и при этом в дебаге в consumerRecord в value валидная на вид запись
Такое ощущение что то ли настройки не доехали то ли что
источник

A

Alex in pro.kafka
ὦan
Все равно пишет что не может скастануть строку и при этом в дебаге в consumerRecord в value валидная на вид запись
Такое ощущение что то ли настройки не доехали то ли что
какая сигнатура метода листнера?
источник

ὦan in pro.kafka
Alex
какая сигнатура метода листнера?
источник

VG

Vik Gamov in pro.kafka
ὦan
Все равно пишет что не может скастануть строку и при этом в дебаге в consumerRecord в value валидная на вид запись
Такое ощущение что то ли настройки не доехали то ли что
очень может быть что не доехали
источник

VG

Vik Gamov in pro.kafka
сделай фактори для producer и consumer
источник

VG

Vik Gamov in pro.kafka
@Bean
public ProducerFactory<Integer, String> producerFactory() {
   return new DefaultKafkaProducerFactory<>(producerConfigs());
}
источник

ὦan in pro.kafka
Я сейчас добавил отправку через KafkaTemplate и в дебагере глянул проперти ser/deser и там стояли String, то есть правда не доехали конфиги :\
Надо тогда фактори добавить
источник

ὦan in pro.kafka
Добавил конфиг через  yml и теперь org.apache.avro.generic.GenericData$Record cannot be cast to su.moneycare.service.credit.product.management.kafka.models.PartnerMessage
Уже лучше :)
источник

VG

Vik Gamov in pro.kafka
ὦan
Добавил конфиг через  yml и теперь org.apache.avro.generic.GenericData$Record cannot be cast to su.moneycare.service.credit.product.management.kafka.models.PartnerMessage
Уже лучше :)
вот тут как раз props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, true); надо
источник

ὦan in pro.kafka
Vik Gamov
вот тут как раз props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, true); надо
Тоже подумал о нем - только не раздуплил по какому ключику его в yml добавлять
источник

VG

Vik Gamov in pro.kafka
consumer properties
источник

VG

Vik Gamov in pro.kafka
consumer:
 group-id: group_id
 auto-offset-reset: earliest
 key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
 value-deserializer: io.confluent.kafka.serializers.KafkaAvroDeserializer
 properties:
   specific.avro.reader: true
источник

ὦan in pro.kafka
Vik Gamov
consumer:
 group-id: group_id
 auto-offset-reset: earliest
 key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
 value-deserializer: io.confluent.kafka.serializers.KafkaAvroDeserializer
 properties:
   specific.avro.reader: true
Заработало - спасибо!
источник

AK

Aleksander Kurlov in pro.kafka
очень про кафку, очень про конфлюент, очень стримингово. Зочем?
источник

И

Игорь in pro.kafka
пропаганда - она такая, потоковая
источник

ὦan in pro.kafka
Еще дурацкий вопрос - никто в авро схемы не объвлял массив?
Просто в доке написано
Arrays use the type name "array" and support a single attribute:
items: the schema of the array's items.

https://avro.apache.org/docs/current/spec.html#Arrays
Если делать так
        {
          "type": "array",
          "items": "long"
       }

То получаем No field name: {"type":"array","items":"long"}
Если сделать так
        {
          "type": "array",
          "items": {
               "name": "ids",
               "type": "long"
          }
       }

То опять же No field name: {"type":"array","items":{"name":"ids","type":"long"}}
В гугле я посмотрел и не нашел примера
источник