[
https://issues.apache.org/jira/browse/HIVE-10289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14705545#comment-14705545
]
Alan Gates commented on HIVE-10289:
-----------------------------------
It looks to me like you are using PartitionKeyComparator anytime you need to
compare keys. IIUC PKC.compareTo() deserializes the keys into data types every
time. For LIKE I understand why you have to do this. But for =, !=, <, > it
doesn't seem that you need to deserialize. I thought the point of using
BinarySortableSerde was to avoid that. We can just call
ByteArrayComparable.compareTo without deserializing. Am I missing something?
> Support filter on non-first partition key and non-string partition key
> ----------------------------------------------------------------------
>
> Key: HIVE-10289
> URL: https://issues.apache.org/jira/browse/HIVE-10289
> Project: Hive
> Issue Type: Sub-task
> Components: HBase Metastore, Metastore
> Affects Versions: hbase-metastore-branch
> Reporter: Daniel Dai
> Assignee: Daniel Dai
> Attachments: HIVE-10289.1.patch, HIVE-10289.2.patch
>
>
> Currently, partition filtering only handles the first partition key and the
> type for this partition key must be string. In order to break this
> limitation, several improvements are required:
> 1. Change serialization format for partition key. Currently partition keys
> are serialized into delimited string, which sorted on string order not with
> regard to the actual type of the partition key. We use BinarySortableSerDe
> for this purpose.
> 2. For filter condition not on the initial partition keys, push it into HBase
> RowFilter. RowFilter will deserialize the partition key and evaluate the
> filter condition.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)