Hi,

内置的scalar
function都是通过代码生成来关联到的,入口是`ExprCodeGenerator#generateCallExpression(...)`,
你可以顺着这里找到你需要看的具体的函数的对应的方法。
PS:有很多方法是纯代码生成的,可能没法调试

内置的aggregate function有两种,一种是通过表达式直接写的,叫做`DeclarativeAggregateFunction`;
一种是通过类似于UDAF的方式来实现的,继承的是`AggregateFunction`
他们都在`org.apache.flink.table.planner.functions.aggfunctions`
包里面(flink-table-planner-blink模块)

shizk233 <wangwangdaxian...@gmail.com> 于2020年8月12日周三 上午10:39写道:

> hi all,
>
> 请教一下,flink sql内置的众多functions[1]有对应的Java实现类吗?我只在blink table
> planner模块下的functions package里找到了一部分,并且是基于Expresstion的。
>
> 问题来源:我试图在flink
> sql里去做debug,如果是自定义的udf可以打断点在实现上,但内置函数没找到相应的实现,似乎也没有相应的文档在这一块。
>
> [1]
>
> https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/functions/systemFunctions.html
>


-- 

Best,
Benchao Li

回复