[ https://issues.apache.org/jira/browse/HIVE-15269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Deepak Jaiswal updated HIVE-15269: ---------------------------------- Comment: was deleted (was: Removed a frivolous logic to remove semi join optimizations around map joins. Handle cycles due to map side joins and semi join combo.) > Dynamic Min-Max runtime-filtering for Tez > ----------------------------------------- > > Key: HIVE-15269 > URL: https://issues.apache.org/jira/browse/HIVE-15269 > Project: Hive > Issue Type: New Feature > Reporter: Jason Dere > Assignee: Deepak Jaiswal > Attachments: HIVE-15269.10.patch, HIVE-15269.11.patch, > HIVE-15269.1.patch, HIVE-15269.2.patch, HIVE-15269.3.patch, > HIVE-15269.4.patch, HIVE-15269.5.patch, HIVE-15269.6.patch, > HIVE-15269.7.patch, HIVE-15269.8.patch, HIVE-15269.9.patch > > > If a dimension table and fact table are joined: > {noformat} > select * > from store join store_sales on (store.id = store_sales.store_id) > where store.s_store_name = 'My Store' > {noformat} > One optimization that can be done is to get the min/max store id values that > come out of the scan/filter of the store table, and send this min/max value > (via Tez edge) to the task which is scanning the store_sales table. > We can add a BETWEEN(min, max) predicate to the store_sales TableScan, where > this predicate can be pushed down to the storage handler (for example for ORC > formats). Pushing a min/max predicate to the ORC reader would allow us to > avoid having to entire whole row groups during the table scan. -- This message was sent by Atlassian JIRA (v6.3.4#6332)