SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; create table orc1 stored as orc tblproperties("orc.compress"="ZLIB") as select rn from ( select cast(1 as int) as rn from src limit 1 union all select cast(100 as int) as rn from src limit 1 union all select cast(10000 as int) as rn from src limit 1 ) t; create table orc_rn1 (rn int); create table orc_rn2 (rn int); create table orc_rn3 (rn int); explain from orc1 a insert overwrite table orc_rn1 select a.* where a.rn < 100 insert overwrite table orc_rn2 select a.* where a.rn >= 100 and a.rn < 1000 insert overwrite table orc_rn3 select a.* where a.rn >= 1000; from orc1 a insert overwrite table orc_rn1 select a.* where a.rn < 100 insert overwrite table orc_rn2 select a.* where a.rn >= 100 and a.rn < 1000 insert overwrite table orc_rn3 select a.* where a.rn >= 1000; select * from orc_rn1; select * from orc_rn2; select * from orc_rn3;