DRILL-3492: Add support for encoding/decoding of 'double' to/from OrderedBytes format
Review Request #36558 - Created July 16, 2015 and updated
| Information | |
|---|---|
| Smidth Panchamia | |
| drill-git | |
| master | |
| DRILL-3492 | |
| Reviewers | |
| drill-git | |
| aditya | |
This change allows encoding/decoding of data from Double data type to OrderedBytes format.
The following JIRA added the OrderedBytes encoding to HBase: https://issues.apache.org/jira/browse/HBASE-8201This encoding scheme will preserve the sort-order of the native data-type when it is stored as sorted byte arrays on disk.
Thus, it will help the HBase storage plugin if the row-keys have been encoded in OrderedBytes format.This functionality allows us to prune the scan ranges, thus reading much lesser data from the server.
Added a new unit-test class TestOrderedBytesConvertFunctions.java which derives from TestConvertFunctions.java class.
This tests the sanity of the OrderedBytesDoubleConvert{From|To}.java implementation.Also, added a new test case to TestHBaseFilterPushDown.java class which checks if the we were able to prune the scan range of the table where the row-key was encoded as OrderedBytes.
All the added tests work as expected.
-
contrib/storage-hbase/pom.xml (Diff revision 1) -
We do not need all source code, just the function definitions. This should be sufficient.
` .... <configuration> <outputDirectory>${basedir}/target/classes/org/apache/drill/exec/expr/fn/impl</outputDirectory> <resources> <resource> <directory>src/main/java/org/apache/drill/exec/expr/fn/impl</directory> <filtering>true</filtering> </resource> </resources> </configuration> .... -
=> TestTableDoubleOB
-
=> TestTableDoubleOB
Please submit the updated patch in git's mailbox format.
Change Summary:
Updated the patch as per comments and made it in mail format.