我试图定义一个sql视图,它从源结构数据类型中选取元素的子集,并创建一个新的结构。在Hive里我可以做到:
create view myview as
select
id,
named_struct("cnt", bkg.cnt, "val", bkg.val) as bkg
from mybkgtable
这很管用。问题是,当从presto调用此视图时,它会失败: Function named_struct not registered
发现presto没有struct数据类型,而是row。它使用以下语法:
select
id,
CAST(ROW(bkg.cnt, bkg.val) as row(cnt integer, val double)) as bkg
from mybkgtable
但是,hive不理解这种语法。
问题是,有没有可能有一个视图定义同时适用于hive和presto?
1条答案
按热度按时间ie3xauqp1#
问题是,有没有可能有一个视图定义同时适用于hive和presto?
很遗憾,没有。