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

【FLINK】This type (GenericType) cannot be used as key.,第1张

【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类型,需要再添加一个无参构造方法

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5117995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存