Согласно документации Apache Beam, я могу найти кодировщики для конкретных типов данных, а также настраиваемые кодеры. Это дает возможность создавать собственные кодировщики путем регистрации в реестре кода. Но я хотел бы знать, есть ли какой-нибудь кодировщик для POJO / bean. Например, что такое кодер для PCollection
Понравилась статья? Поделиться с друзьями:
Вам также может быть интересно
У меня есть предварительный загрузчик css, который работает до полной загрузки страницы. Который затем
Я бы хотел, чтобы pip установил зависимость, которая у меня есть на GitHub, когда
Попытка модульного тестирования конечного автомата Spring UML с таймерами. Ожидается, что в реальном режиме
Я бы хотел, чтобы моя база данных сбрасывалась после каждого теста выполнением консольных команд
У меня есть изображение, и когда я нахожу на него указатель мыши, запускается событие
Это мой код на С++: #include <iostream> using namespace std; typedef struct Node {
Комментарии: 1
Добавить комментарий Отменить ответ
Если ваш POJO определен в вашем проекте, взгляните на DefaultSchema. Этот пример делает именно то, что вы хотите, регистрируя схему (которая неявно регистрирует кодировщик) путем проверки методов, совместимых с JavaBean:
Обратите внимание, что кодировщики предназначены для элементов коллекции, поэтому кодировщика для PCollection нет. Скорее, PCollection может иметь набор кодировщиков, определяющий, как отдельные элементы сериализуются и десериализуются.
Спасибо за эту информацию, у меня есть сценарий. Предположим, у меня есть PCollection ‹bean› (здесь bean-компонент — это класс pojo). когда я пытался реализовать преобразование ParDo в этой коллекции PCollection, я получаю ошибку кодировщика (ошибка — Невозможно получить кодировщик, используйте метод setcoder). Согласно документации Apache Beam, существуют специальные кодеры для int, void, strng, avro. Поэтому мне интересно, какой кодер мне нужно реализовать в этом сценарии. — person code tutorial; 23.02.2019
Если у вас есть контроль над определением
bean
и вы аннотируете@DefaultSchema(JavaBeanSchema.class)
, аbean
не имеет параметров типа, то Beam должен иметь достаточно информации, чтобы сделать вывод о кодировщике; ошибка кодера, о которой вы упомянули, должна исчезнуть. В противном случае вы можете преобразовать ваш объект в более простой тип, чтобы получить что-то вроде PCollection ‹Map‹ String, String ››, или реализовать явный подкласс Coder для вашего типа и передать экземпляр этого класса кодера вsetCoder
. — person code tutorial; 25.02.2019