Я новичок в Flink и пытаюсь использовать Flink с Kafka для ввода данных и айсбергом для хранения данных.
Вот шаги, которые я выполнил.
- Читать поток данных POJO Java из kafkaSource (со схемой Avro).
- Преобразовать поток данных POJO в DataStream RowData с помощью оболочки MapFunction.
/> - Отправьте поток данных RowData в Iceberg с помощью FlinkSink.
Все работает, но меня беспокоит способ преобразования потока данных POJO в DataStream RowData. У меня есть сложная и довольно большая ссылка POJO, и чтобы преобразовать ее в RowData, мне пришлось использовать метод .setField() для каждого и обрабатывать каждое преобразование типа данных, например StringData, Map, List и т. д.
Я хотел проверить здесь, есть ли лучший способ сделать это.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... -for-apach