[ 
https://issues.apache.org/jira/browse/IMPALA-8809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16947711#comment-16947711
 ] 

Gabor Kaszab commented on IMPALA-8809:
--------------------------------------

Did an experiment to figure out a way to reload a subset of the partitions. 
Apparently querying table or partition data from HMS doesn't provide any fields 
that detect compactions.

There is one option that would provide us a way: HMS has a compactions table 
that can be queried by show_compat() interface. However, this call gives back 
the total list of compactions that doesn't seem optimal to query. Anyway after 
getting the results it's feasible to query for the table name/partition name. 
So it's feasible, still I'm not comfortable of going this direction as querying 
that table can be expensive.

> Refresh a subset of partitions for ACID tables
> ----------------------------------------------
>
>                 Key: IMPALA-8809
>                 URL: https://issues.apache.org/jira/browse/IMPALA-8809
>             Project: IMPALA
>          Issue Type: Improvement
>    Affects Versions: Impala 3.3.0
>            Reporter: Gabor Kaszab
>            Assignee: Gabor Kaszab
>            Priority: Critical
>              Labels: impala-acid
>
> Enhancing REFRESH logic to handle ACID tables was covered by this change: 
> https://issues.apache.org/jira/browse/IMPALA-8600
> Basically each user initiated REFRESH PARTITION is rejected meanwhile the 
> REFRESH_PARTITION event in event processor are actually doing a full table 
> load for ACID tables.
> There is room for improvement: When a full table refresh is being executed on 
> an ACID table we can have 2 scenarios:
> - If there was some schema changes then reload the full table. Identify such 
> a scenario should be possible by checking the table-level writeId. However, 
> there is a bug in Hive that it doesn't update that field for partitioned 
> tables (https://issues.apache.org/jira/browse/HIVE-22062). This would be the 
> desired way but could also be workarounded by checking other fields lik 
> lastDdlChanged or such.
> - If a full table refresh is not needed then we should fetch the 
> partition-level writeIds and reload only the ones that are out-of-date 
> locally.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to