Apache Beam Coder для GenericRecord - PullRequest
       37

Apache Beam Coder для GenericRecord

0 голосов
/ 13 декабря 2018

Я строю конвейер, который читает общие записи Avro.Для прохождения GenericRecord между этапами мне нужно зарегистрировать AvroCoder.В документации сказано, что если я использую обобщенную запись, аргумент схемы может быть произвольным: https://beam.apache.org/releases/javadoc/2.2.0/org/apache/beam/sdk/coders/AvroCoder.html#of-java.lang.Class-org.apache.avro.Schema-

Однако, когда я передаю пустую схему методу AvroCoder.of(Class, Schema), он генерирует исключение во время выполнения.Есть ли способ создать AvroCoder для GenericRecord, который не требует схемы?В моем случае каждый GenericRecord имеет встроенную схему.

Исключение и трассировка стека:

Exception in thread "main" java.lang.NullPointerException
at org.apache.beam.sdk.coders.AvroCoder$AvroDeterminismChecker.checkIndexedRecord(AvroCoder.java:562)
at org.apache.beam.sdk.coders.AvroCoder$AvroDeterminismChecker.recurse(AvroCoder.java:430)
at org.apache.beam.sdk.coders.AvroCoder$AvroDeterminismChecker.check(AvroCoder.java:409)
at org.apache.beam.sdk.coders.AvroCoder.<init>(AvroCoder.java:260)
at org.apache.beam.sdk.coders.AvroCoder.of(AvroCoder.java:141)
...