在日志中我看到kafkatopicpartition不能用作pojo;那是什么意思?

yvt65v4c  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(811)

不是一个错误,但我确实看到这一行,根据消息可能会影响性能:

2019-01-02 14:44:44,879 INFO  org.apache.flink.api.java.typeutils.TypeExtractor             
- class org.apache.flink.streaming.connectors.kafka.internals.KafkaTopicPartition 
does not contain a setter for field topic
2019-01-02 14:44:44,879 INFO  org.apache.flink.api.java.typeutils.TypeExtractor             
- Class class org.apache.flink.streaming.connectors.kafka.internals.KafkaTopicPartition 
cannot be used as a POJO type because not all fields are valid POJO fields, 
and must be processed as GenericType. Please read the Flink documentation on "Data Types & Serialization" 
for details of the effect on performance.
 2019-01-02 14:44:44,884 INFO  org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase  - No restore state for FlinkKafkaConsumer.

这是我能/需要做的事吗?

qvtsj1bj

qvtsj1bj1#

关于不能用作pojo类型的类型的语句记录在info级别,而不是warn级别,因为它通常不是特别相关的。但有时它确实指出了可能导致性能问题的类。这是因为flink能够为pojo类(具有空的默认构造函数和公共字段或公共getter和setter的类)使用自己的、性能更高的序列化框架,否则就退回到kyro。
如果这是您的应用程序对象之一,并且您要序列化和反序列化大量的对象,那么是的,这将是您需要考虑的事情。但在本例中,不是。这是由各种flink/kafka连接器使用的内部对象,不应更改。

相关问题