【FLINK】This type (GenericType) cannot be used as key.

背景:flink 1.13.2
           scala 2.11

           在使用flink KeyedProcessFunction函数时,在上一步的keyBy函数里使用fieldName,产生了上面的错误类型,说POJO类型不能做为key

1、类的定义

@Data
@EqualsAndHashCode
public class ClickDataEntity implements Serializable, CommonInter {

    private static final Logger logger = LoggerFactory.getLogger(ClickDataEntity.class);

    private static final long serialVersionUID = -429917380238421788L;


    public String processTime; //后台接收时间
    .....
}

2、解决方案

 2.1 换成Tuple类型,直接使用tuple.f0
 2.2 POJO类型,需要再添加一个无参构造方法


版权声明:本文为Zsigner原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。