You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "hehuiyuan (Jira)" <ji...@apache.org> on 2021/02/05 02:24:00 UTC

[jira] [Updated] (FLINK-21284) Non-deterministic UDF functions return different values

     [ https://issues.apache.org/jira/browse/FLINK-21284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

hehuiyuan updated FLINK-21284:
------------------------------
    Attachment: image-2021-02-05-10-23-02-616.png

> Non-deterministic UDF functions return different values
> -------------------------------------------------------
>
>                 Key: FLINK-21284
>                 URL: https://issues.apache.org/jira/browse/FLINK-21284
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>            Reporter: hehuiyuan
>            Priority: Major
>         Attachments: image-2021-02-05-10-23-02-616.png, image-2021-02-05-10-23-20-639.png
>
>
> Non-deterministic UDF functions is used mutiple times , the result is different.
>  
> {code:java}
> tableEnv.registerFunction("sample", new SampleFunction());
> Table tm = tableEnv.sqlQuery("select name, RAND_INTEGER(10) as sample , sex from myhive_staff");
> tableEnv.registerTable("tmp", tm);
> tableEnv.sqlUpdate("insert into sinktable select * from tmp  where sample >= 8");
> // UDF函数
> public class SampleFunction extends ScalarFunction {
>   public int eval(int pvid) {
>     int a = (int) (Math.random() * 10);
>     System.out.println("************************" + a );
>     return a;
>   }
> }{code}
>  
> Sample udf function is used for `RAND_INTEGER(10) as sample`  when sink,
> which lead  to  inconsistent result.
>  
>  



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