-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/20806/
-----------------------------------------------------------
Review request for drill, Jinfeng Ni, Steven Phillips, and Timothy Chen.
Bugs: DRILL-571
https://issues.apache.org/jira/browse/DRILL-571
Repository: drill-git
Description
-------
This patch adds an Optimizer rule to HBase storage plugin which would transform
an HBase scan followed by a logical (==, !=, <, <=, >, >=) filter on the row
key into an HBase scan with filter thus minimizing the data transfer and
elimination one operation altogether.
Diffs
-----
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/DrillHBaseConstants.java
PRE-CREATION
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseFilterBuilder.java
PRE-CREATION
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseGroupScan.java
b8b6af4
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBasePushFilterIntoScan.java
PRE-CREATION
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java
8e1e0ac
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseScanBatchCreator.java
157d84a
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseScanSpec.java
PRE-CREATION
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseSchemaFactory.java
991685c
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java
a82c6c3
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePluginConfig.java
a5dfc35
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseSubScan.java
81a8af5
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseUtils.java
PRE-CREATION
contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HTableReadEntry.java
e18b28d
contrib/storage-hbase/src/test/java/org/apache/drill/hbase/HBaseRecordReaderTest.java
8a476c3
contrib/storage-hbase/src/test/java/org/apache/drill/hbase/HBaseTestsSuite.java
df6a98e
contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestHBaseFilterPushDown.java
PRE-CREATION
contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestTableGenerator.java
2207f1d
contrib/storage-hbase/src/test/resources/hbase/hbase_scan_screen_physical.json
ae42d6b
contrib/storage-hbase/src/test/resources/hbase/hbase_scan_screen_physical_column_select.json
7940c65
contrib/storage-hbase/src/test/resources/hbase/hbase_scan_screen_physical_family_select.json
2dcc81c
contrib/storage-hbase/src/test/resources/storage-plugins.json PRE-CREATION
distribution/src/resources/storage-plugins.json 6f2c015
Diff: https://reviews.apache.org/r/20806/diff/
Testing
-------
Added a new test case TestHBaseFilterPushDown which is currently disabled since
the Zookeeper port used by MiniHBase cluster is random and there was no clean
way to pass this to the HBase storage plugin from SQL.
To test it, start a local HBase cluster (./bin/start-hbase.sh) and un-comment
the Junit's @Ignore annotation.
Thanks,
Aditya Kishore