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