在日志中,我看到KafkaTopicPartition不能用作POJO;这是什么意思



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

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.

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

这条关于不能用作POJO类型的类型的语句记录在INFO级别,而不是WARN级别,因为它通常并不特别相关。但它有时确实指示可能导致性能问题的类。这是因为Flink能够为POJO类(具有空默认构造函数和公共字段的类,或公共getter和setter)使用自己的、性能更高的序列化框架,否则就只能使用Kyro。

如果这是您的应用程序对象之一,并且您将对其中的LOTS进行序列化和反序列化,那么是的,这将是需要考虑的事情。但在这种情况下,没有。这是各种Flink/Kafka连接器使用的内部对象,不应该更改。

相关内容

  • 没有找到相关文章

最新更新