'PojoOperationMapper (bahir) throws java.io.NotSerializableException. How can I solve it?

I'm trying to insert streaming data into kudu using flink. My code segment is :

            CustomOperationMapper<DD_Tradeimpl> mapperCustom = new CustomOperationMapper<>(
                    DD_Tradeimpl.class,
                    fields,
                    AbstractSingleOperationMapper.KuduOperation.INSERT);



            KuduSink<DD_Tradeimpl> sink = new KuduSink<DD_Tradeimpl>(
                writerConfig,
                KuduTableInfo.forTable("omnet.dd_tradeimpl"),
                    mapperCustom
            );

But I'm getting following error:

Exception in thread "main" org.apache.flink.api.common.InvalidProgramException: [Ljava.lang.reflect.Field;@2e4b8173 is not serializable. The object probably contains or references non serializable fields.
    at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:164)
    at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:132)
    at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:132)
    at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:69)
    at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.clean(StreamExecutionEnvironment.java:2138)
    at org.apache.flink.streaming.api.datastream.DataStream.clean(DataStream.java:203)
    at org.apache.flink.streaming.api.datastream.DataStream.addSink(DataStream.java:1243)
    at FlinkToKafkaSingleStream.main(FlinkToKafkaSingleStream.java:113)
Caused by: java.io.NotSerializableException: java.lang.reflect.Field
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
    at org.apache.flink.util.InstantiationUtil.serializeObject(InstantiationUtil.java:632)
    at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:143)
    ... 7 more

Do you have any ideis ?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source