感谢大佬们的指点
Benchao Li 于2020年8月12日周三 上午11:04写道:
> Hi,
>
> 内置的scalar
> function都是通过代码生成来关联到的,入口是`ExprCodeGenerator#generateCallExpression(...)`,
> 你可以顺着这里找到你需要看的具体的函数的对应的方法。
> PS:有很多方法是纯代码生成的,可能没法调试
>
> 内置的aggregate function有两种,一种是通过表达式直接写的,叫做`DeclarativeAggregateFunction`;
>
Hi,
内置的scalar
function都是通过代码生成来关联到的,入口是`ExprCodeGenerator#generateCallExpression(...)`,
你可以顺着这里找到你需要看的具体的函数的对应的方法。
PS:有很多方法是纯代码生成的,可能没法调试
内置的aggregate function有两种,一种是通过表达式直接写的,叫做`DeclarativeAggregateFunction`;
一种是通过类似于UDAF的方式来实现的,继承的是`AggregateFunction`
Flink 内置函数的有一些是直接 codegen 出来的,有一些是调用的 util。
对于前者,得去看org.apache.flink.table.planner.codegen.calls.ScalarOperatorGens。
对于后者,可以看下 org.apache.flink.table.planner.codegen.calls.BuiltInMethods.
Best,
Jark
On Wed, 12 Aug 2020 at 10:39, shizk233 wrote:
> hi all,
>
> 请教一下,flink
hi all,
请教一下,flink sql内置的众多functions[1]有对应的Java实现类吗?我只在blink table
planner模块下的functions package里找到了一部分,并且是基于Expresstion的。
问题来源:我试图在flink sql里去做debug,如果是自定义的udf可以打断点在实现上,但内置函数没找到相应的实现,似乎也没有相应的文档在这一块。
[1]