1. Create a toy table using the HBase shell with these HBase shell commands create 'WiredMinds', 'customer', 'pi', 'visit' put 'WiredMinds', 'row1', 'customer:a', 'c1' put 'WiredMinds', 'row2', 'customer:a', 'c2' put 'WiredMinds', 'row3', 'customer:a', 'c3' put 'WiredMinds', 'row4', 'pi:a', 'p1' put 'WiredMinds', 'row5', 'pi:a', 'p2' put 'WiredMinds', 'row6', 'pi:a', 'p3' put 'WiredMinds', 'row7', 'visit:a', 'p1' put 'WiredMinds', 'row8', 'visit:a', 'p2' put 'WiredMinds', 'row9', 'visit:a', 'p3' put 'WiredMinds', 'row10', 'customer:a', 'xyz' put 'WiredMinds', 'row10', 'pi:a', 'xyz' put 'WiredMinds', 'row10', 'visit:a', 'xyz' put 'WiredMinds', 'row11', 'visit:a', 'abc' put 'WiredMinds', 'row11', 'pi:a', 'abc' put 'WiredMinds', 'row11', 'customer:a', 'abc' 2. Create an external HBase table in Hive with: create external table customer_journey (rowkey string, customer_a string, pi_a string, visit_a string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping"=":key,customer:a,pi:a,visit:a") tblproperties("hbase.table.name" = "WiredMinds"); 3. Query the table in Impala and see the bug: [localhost:21000] > select count(*) from customer_journey where customer_a is not null; Query: select count(*) from customer_journey where customer_a is not null +----------+ | count(*) | +----------+ | 5 | +----------+ Returned 1 row(s) in 0.42s [localhost:21000] > select count(*) from customer_journey where pi_a = 'xyz'; Query: select count(*) from customer_journey where pi_a = 'xyz' +----------+ | count(*) | +----------+ | 1 | +----------+ Returned 1 row(s) in 0.44s [localhost:21000] > select count(*) from customer_journey where customer_a is not null and pi_a = 'xyz'; Query: select count(*) from customer_journey where customer_a is not null and pi_a = 'xyz' +----------+ | count(*) | +----------+ | 4 | +----------+ Returned 1 row(s) in 0.42s