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)