[ 
https://issues.apache.org/jira/browse/FLINK-7151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16944492#comment-16944492
 ] 

Timo Walther commented on FLINK-7151:
-------------------------------------

Hi everyone, sorry for entering the discussion so late. Actually, I would have 
voted for creating a little FLIP for this issue because it introduces new SQL 
syntax and public API. We should ensure that this issue is also compatible with 
FLIP-32, FLIP-69, and FLIP-57. I agree that the syntax changes are minimal and 
straight forward, which is why I support the syntax in general. For the next 
time please consider adding a FLIP with a proper voting process.

We need to take temporary functions and type extraction into account. I haven't 
looked at the PR, but I could image that the implementation could case some 
issues as we are currently handling type extraction in Scala and Java API 
differently. This is also the reason why the new unified TableEnvironment (as 
mentioned in FLIP-32) has no generic {{registerFunction(...)}} yet. FLIP-65 
(not published yet) should solve this issue. Maybe we can disable the {{CREATE 
FUNCTION}} syntax for Scala table environments as a temporary solution?

> Add a basic function SQL DDL
> ----------------------------
>
>                 Key: FLINK-7151
>                 URL: https://issues.apache.org/jira/browse/FLINK-7151
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table SQL / API
>            Reporter: yuemeng
>            Assignee: Zhenqiu Huang
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 1.10.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Based on create function and table.we can register a udf,udaf,udtf use sql:
> {code}
> CREATE FUNCTION [IF NOT EXISTS] [catalog_name.db_name.]function_name AS 
> class_name;
> DROP FUNCTION [IF EXISTS] [catalog_name.db_name.]function_name;
> ALTER FUNCTION [IF EXISTS] [catalog_name.db_name.]function_name RENAME TO 
> new_name;
> {code}
> {code}
> CREATE function 'TOPK' AS 
> 'com.xxxx.aggregate.udaf.distinctUdaf.topk.ITopKUDAF';
> INSERT INTO db_sink SELECT id, TOPK(price, 5, 'DESC') FROM kafka_source GROUP 
> BY id;
> {code}
> This ticket can assume that the function class is already loaded in classpath 
> by users. Advanced syntax like to how to dynamically load udf libraries from 
> external locations can be on a separate ticket.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to