[ 
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)

Reply via email to