[
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: [email protected]
For additional commands, e-mail: [email protected]