最近尝试把一个生产 hive sql 任务,执行引擎切换成 flink 1.11.2 ,发现flink 11 对hive SQL的支持有下列问题1、不支持 双引号 表示字符串
2、不支持 != 表示不等运算 3、不支持 类型隐式转换 4、不支持 split 函数 5、hive 不区分大小写,flink区分大小写 6、join右表 不支持是一个子查询(Calcite bug https://issues.apache.org/jira/browse/CALCITE-2152) 7、不支持 create table table1 as select * from pokes; 中的 as 暂时只测到这些问题。总体感觉flink11 对 hive SQL的语句支持还不够,无法把已有离线 hive sql 任务直接 切换到flink 引擎。 |
Administrator
|
Hi,
Flink SQL 1.11 暂时还不兼容 Hive SQL 语法。这个功能的设计,最近才在社区中讨论,预计1.13中支持。可以关注下这个 design 的讨论: http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-152-Hive-Query-Syntax-Compatibility-td46928.html Best, Jark On Fri, 4 Dec 2020 at 11:45, 莫失莫忘 <[hidden email]> wrote: > 最近尝试把一个生产 hive sql 任务,执行引擎切换成 flink 1.11.2 ,发现flink 11 对hive > SQL的支持有下列问题1、不支持 双引号 表示字符串 > 2、不支持 != 表示不等运算 > 3、不支持 类型隐式转换 > 4、不支持 split 函数 > 5、hive 不区分大小写,flink区分大小写 > 6、join右表 不支持是一个子查询(Calcite bug > https://issues.apache.org/jira/browse/CALCITE-2152) > 7、不支持 create table table1 as select * from pokes; 中的 as > > > > 暂时只测到这些问题。总体感觉flink11 对 hive SQL的语句支持还不够,无法把已有离线 hive sql 任务直接 切换到flink 引擎。 |
Hi,
目前加载HiveModule可以使用(大部分)hive内置函数,也能解决调用内置函数时的类型转换问题。不过更全面的语法兼容还需要等FLIP-152实现了才能支持,欢迎关注。 On Fri, Dec 4, 2020 at 8:44 PM Jark Wu <[hidden email]> wrote: > Hi, > > Flink SQL 1.11 暂时还不兼容 Hive SQL 语法。这个功能的设计,最近才在社区中讨论,预计1.13中支持。可以关注下这个 > design 的讨论: > > > http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-152-Hive-Query-Syntax-Compatibility-td46928.html > > > Best, > Jark > > On Fri, 4 Dec 2020 at 11:45, 莫失莫忘 <[hidden email]> wrote: > > > 最近尝试把一个生产 hive sql 任务,执行引擎切换成 flink 1.11.2 ,发现flink 11 对hive > > SQL的支持有下列问题1、不支持 双引号 表示字符串 > > 2、不支持 != 表示不等运算 > > 3、不支持 类型隐式转换 > > 4、不支持 split 函数 > > 5、hive 不区分大小写,flink区分大小写 > > 6、join右表 不支持是一个子查询(Calcite bug > > https://issues.apache.org/jira/browse/CALCITE-2152) > > 7、不支持 create table table1 as select * from pokes; 中的 as > > > > > > > > 暂时只测到这些问题。总体感觉flink11 对 hive SQL的语句支持还不够,无法把已有离线 hive sql 任务直接 切换到flink > 引擎。 > -- Best regards! Rui Li |
我理解 set table.sql-dialect=hive; 配置了hive 方言后,就已经加载了 HiveModule。这样理解是错误的吗? 我在 flink -sql -client 中该如何使用到 HiveModule
------------------ 原始邮件 ------------------ 发件人: "user-zh" <[hidden email]>; 发送时间: 2020年12月4日(星期五) 晚上9:25 收件人: "user-zh"<[hidden email]>; 主题: Re: 生产hive sql 迁移flink 11 引擎,碰到的问题 Hi, 目前加载HiveModule可以使用(大部分)hive内置函数,也能解决调用内置函数时的类型转换问题。不过更全面的语法兼容还需要等FLIP-152实现了才能支持,欢迎关注。 On Fri, Dec 4, 2020 at 8:44 PM Jark Wu <[hidden email]> wrote: > Hi, > > Flink SQL 1.11 暂时还不兼容 Hive SQL 语法。这个功能的设计,最近才在社区中讨论,预计1.13中支持。可以关注下这个 > design 的讨论: > > > http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-152-Hive-Query-Syntax-Compatibility-td46928.html > > > Best, > Jark > > On Fri, 4 Dec 2020 at 11:45, 莫失莫忘 <[hidden email]> wrote: > > > 最近尝试把一个生产 hive sql 任务,执行引擎切换成 flink 1.11.2 ,发现flink 11 对hive > > SQL的支持有下列问题1、不支持 双引号 表示字符串 > > 2、不支持 != 表示不等运算 > > 3、不支持 类型隐式转换 > > 4、不支持 split 函数 > > 5、hive 不区分大小写,flink区分大小写 > > 6、join右表 不支持是一个子查询(Calcite bug&nbsp; > > https://issues.apache.org/jira/browse/CALCITE-2152) > > 7、不支持 create table table1 as select * from pokes; 中的 as&nbsp; > > > > > > > > 暂时只测到这些问题。总体感觉flink11 对 hive SQL的语句支持还不够,无法把已有离线 hive sql 任务直接 切换到flink > 引擎。 > -- Best regards! Rui Li |
找到配置module的地方了。在 sql-client-defaults.yaml 配置 module 就可以了。但是我的hive是 Hive
1.1.0-cdh5.13.1 版本的。不支持listBuiltInFunctions()。报错 Listing built in functions are not supported until Hive 1.2.0。所以还是无法使用 hive的内置函数 -- Sent from: http://apache-flink.147419.n8.nabble.com/ |
Hi,
我会尝试下让HiveModule支持低版本的hive: https://issues.apache.org/jira/browse/FLINK-20563 On Mon, Dec 7, 2020 at 5:01 PM 莫失莫忘 <[hidden email]> wrote: > 找到配置module的地方了。在 sql-client-defaults.yaml 配置 module 就可以了。但是我的hive是 Hive > 1.1.0-cdh5.13.1 版本的。不支持listBuiltInFunctions()。报错 Listing built in functions > are not supported until Hive 1.2.0。所以还是无法使用 hive的内置函数 > > > > -- > Sent from: http://apache-flink.147419.n8.nabble.com/ > -- Best regards! Rui Li |
Free forum by Nabble | Edit this page |