[
https://issues.apache.org/jira/browse/HIVE-24274?focusedWorklogId=522655&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-522655
]
ASF GitHub Bot logged work on HIVE-24274:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 10/Dec/20 10:32
Start Date: 10/Dec/20 10:32
Worklog Time Spent: 10m
Work Description: kasakrisz commented on a change in pull request #1706:
URL: https://github.com/apache/hive/pull/1706#discussion_r540056128
##########
File path: ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
##########
@@ -1945,6 +1945,18 @@ public RelOptMaterialization
getMaterializedViewForRebuild(String dbName, String
}
}
+ public List<RelOptMaterialization> getMaterialization(
+ String queryString, List<String> tablesUsed, HiveTxnManager txnMgr)
throws HiveException {
+
+ List<RelOptMaterialization> materializedViews =
+
HiveMaterializedViewsRegistry.get().getRewritingMaterializedViews(queryString);
+ if (materializedViews.isEmpty()) {
+ return Collections.emptyList();
+ }
+
+ return filterAugmentMaterializedViews(materializedViews, tablesUsed,
txnMgr);
Review comment:
refactored this method: instead of calling
`filterAugmentMaterializedViews` iterate through the mvs got from the registry
and call `HiveMaterializedViewUtils.isOutdatedMaterializedView` for each of
them. If it returns `null` or `true` filter out.
The majority of the code in `getValidMaterializedViews` can be ignored in
this scenario because:
* all boolean parameters of `getValidMaterializedViews` is false
* We pull the MVs from the registry so all of them must exists in the
registry
In case of multiple HS2 instances the registry may not contains all the
possible MVs for rewrite but we initiate the lookup using the registry.
I would extend this sql text based rewrite functionality to able to lookup
from the metastore in a follow up patch.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 522655)
Time Spent: 1h 20m (was: 1h 10m)
> Implement Query Text based MaterializedView rewrite
> ---------------------------------------------------
>
> Key: HIVE-24274
> URL: https://issues.apache.org/jira/browse/HIVE-24274
> Project: Hive
> Issue Type: Improvement
> Reporter: Krisztian Kasa
> Assignee: Krisztian Kasa
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> Besides the way queries are currently rewritten to use materialized views in
> Hive this project provides an alternative:
> Compare the query text with the materialized views query text stored. If we
> found a match the original query's logical plan can be replaced by a scan on
> the materialized view.
> - Only materialized views which are enabled to rewrite can participate
> - Use existing *HiveMaterializedViewsRegistry* through *Hive* object by
> adding a lookup method by query text.
> - There might be more than one materialized views which have the same query
> text. In this case chose the first valid one.
> - Validation can be done by calling
> *Hive.validateMaterializedViewsFromRegistry()*
> - The scope of this first patch is rewriting queries which entire text can be
> matched only.
> - Use the expanded query text (fully qualified column and table names) for
> comparing
--
This message was sent by Atlassian Jira
(v8.3.4#803005)