select Impala 中的 stack() UDTF
select stack() UDTF in Impala
在 Hive 中,我可以像这样使用 stack() UDTF 对数据进行采样:
with students as (
select stack(5,
1,'Vikrant',
2,'Abhishek',
3,'Ragesh',
4,'Valeriy',
5,'Swarna') as (id, name)
)
select * from students;
In Presto 同样。
除了使用 ,我如何才能在 Impala 中做到这一点?
据我研究,Impala还不支持table生成函数。不幸的是,Impala 中的 no lateral view explode, no UDTF are possible 没有堆栈。
所以,唯一的办法就是:
with students as (
select 1 as id,'Vikrant' as name union all
select 2 as id,'Abhishek' as name union all
select 3 as id,'Ragesh' as name union all
select 4 as id,'Valeriy' as name union all
select 5 as id,'Swarna' as name
)
select * from students;
在 Hive 中,我可以像这样使用 stack() UDTF 对数据进行采样:
with students as (
select stack(5,
1,'Vikrant',
2,'Abhishek',
3,'Ragesh',
4,'Valeriy',
5,'Swarna') as (id, name)
)
select * from students;
In Presto
除了使用
据我研究,Impala还不支持table生成函数。不幸的是,Impala 中的 no lateral view explode, no UDTF are possible 没有堆栈。
所以,唯一的办法就是:
with students as (
select 1 as id,'Vikrant' as name union all
select 2 as id,'Abhishek' as name union all
select 3 as id,'Ragesh' as name union all
select 4 as id,'Valeriy' as name union all
select 5 as id,'Swarna' as name
)
select * from students;