blob: 45aca435ee6918f101e7a15f8d07b51c159b3c15 [file] [log] [blame]
set hive.fetch.task.conversion=none;
-- setting up a table with multiple rows
drop table if exists annotate_stats_lateral_view_join_test;
create table annotate_stats_lateral_view_join_test (id int, name string);
insert into annotate_stats_lateral_view_join_test (id, name) values
(1, 'aaaaaaaaaa'),
(2, 'bbbbbbbbbbbbbbbbbbbb'),
(3, 'cccccccccccccccccccccccccccccc');
analyze table annotate_stats_lateral_view_join_test compute statistics;
analyze table annotate_stats_lateral_view_join_test compute statistics for columns;
-- with column stats
set hive.stats.fetch.column.stats=true;
-- 10x tests
set hive.stats.udtf.factor=10;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select a.id, name as n, b.* from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c lateral view explode(array(1, 2)) d;
-- 0.5x tests
set hive.stats.udtf.factor=0.5;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select a.id, name as n, b.* from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c lateral view explode(array(1, 2)) d;
-- Default behaviour tests
set hive.stats.udtf.factor=1;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select a.id, name as n, b.* from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c lateral view explode(array(1, 2)) d;
-- without column stats
set hive.stats.fetch.column.stats=false;
-- 10x tests
set hive.stats.udtf.factor=10;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select a.id, name as n, b.* from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c lateral view explode(array(1, 2)) d;
-- 0.5x tests
set hive.stats.udtf.factor=0.5;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select a.id, name as n, b.* from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c lateral view explode(array(1, 2)) d;
-- Default behaviour tests
set hive.stats.udtf.factor=1;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select a.id, name as n, b.* from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c;
explain select * from annotate_stats_lateral_view_join_test a lateral view explode(array(1, 2, 3)) b lateral view explode(array(1)) c lateral view explode(array(1, 2)) d;