Apache Beam JmsIO - проблемы сериализации Avro с неограниченным источником - PullRequest
0 голосов
/ 26 мая 2019

Я получаю следующее исключение при чтении из неограниченного JMS-источника:

avro.shaded.com.google.common.util.concurrent.UncheckedExecutionException: org.apache.avro.SchemaParseException: Illegal character in: this$0
    at avro.shaded.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234)
    at avro.shaded.com.google.common.cache.LocalCache.get(LocalCache.java:3965)
    at avro.shaded.com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969)
    at avro.shaded.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829)
    at org.apache.avro.specific.SpecificData.getSchema(SpecificData.java:225)
    ... 12 more

Исключение выдается Avro при интроспекции JmsCheckpointMark для создания схемы.

Конфигурация JmsIO:

PCollection<DFAMessage> messages = pipeline.apply("read messages from the events broker",
            JmsIO.<DFAMessage>readMessage()
                    .withConnectionFactory(jmsConnectionFactory)
                    .withTopic(options.getTopic())
                    .withMessageMapper(new DFAMessageMapper())
                    .withCoder(AvroCoder.of(DFAMessage.class)));
...