You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "jiawen xiao (Jira)" <ji...@apache.org> on 2020/12/23 06:50:00 UTC

[jira] [Comment Edited] (FLINK-20739) Ban `if` from HiveModule

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

jiawen xiao edited comment on FLINK-20739 at 12/23/20, 6:49 AM:
----------------------------------------------------------------

in my opinion,[2] stand for size is not less than 3.

can you try ? 
 size(split(`test`, '-')) > 2


was (Author: 873925389@qq.com):
in my opinion,[2] stand for size is not less than 3.

can you try 
size(split(`test`, '-')) > 2
?

> Ban  `if`  from HiveModule
> --------------------------
>
>                 Key: FLINK-20739
>                 URL: https://issues.apache.org/jira/browse/FLINK-20739
>             Project: Flink
>          Issue Type: Improvement
>          Components: Connectors / Hive
>    Affects Versions: 1.10.0
>            Reporter: jinfeng
>            Priority: Major
>
> When using hiveModule, the if function is treated as a normal function.
>  If I have a SQL like this: 
>   
> {code:java}
>  insert into Sink select  if(size(split(`test`, '-')) > 1, split(`test`, '-')[2], 'error') from Source   {code}
>  
>  It will throw arrayIndexOutOfBoundsException in Flink1.10,  becase size(split(`test`, '-')-) > 1 , split(`test`, '')[2], ‘error’   will be calculated first, and then if function will be  calculated



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