这篇文章主要用来记录平时使用 Flink 过程中遇到的问题以及解决方案,其实前面已经有一篇这样的文章了,但是那篇文章里面的问题已经记录的比较多,不太方便浏览,所以新开了一篇文章,后面的问题都会更新到这篇文章中.
Cannot extract a data type from a pure ‘java.lang.Object’ class. Usually, this indicates that class information is missing or got lost. Please specify a more concrete class or treat it as a RAW type.
报错的意思是说不能从对象中提取数据的类型,因为在 SQL 里面调用了一个 UDAF ,所以需要指定一下数据的类型,否则 Flink 自身不能提取到数据的类型.
解决方案:
在 UDAF 类上面加上注解 @FunctionHint(input = @DataTypeHint(“INT”),output = @DataTypeHint(“BIGINT”)) 就可以了.