开发者社区 问答 正文

UDAF实际调用时传入int类型,定义时是long类型,运行时报参数不匹配,int不能转成long类型吗?发现Flink-SQL在编写的时候需要写很多的CAST

转自钉钉群21789141:UDAF实际调用时传入int类型,定义时是long类型,运行时报参数不匹配,int不能转成long类型吗?发现Flink-SQL在编写的时候需要写很多的CAST

展开
收起
赵慧@ApacheFlink中文社区 2019-02-14 15:02:29 3025 分享 版权
2 条回答
写回答
取消 提交回答
  • 可以在开发UDF的时候编写多个重载。好像没有遇到运行只要实现一个的问题。

    2019-07-17 23:28:12
    赞同 展开评论
  • 云邪:Flink 目前是强类型匹配的,Blink 有做隐式类型转换。 你可以在 UDAF 中通过方法重载的方式加一个 int 参数方法,然后路由到 long 参数的方法。

    问: 我记得我当时重载过一个int类型参数的方法,但是在运行时会告诉我说int和long只要实现一个,我不得不删掉了这个int的重载,使用cast

    2019-07-17 23:28:12
    赞同 展开评论