Can't join HBase tables if one's name is the beginning of the other
-------------------------------------------------------------------

                 Key: HIVE-1903
                 URL: https://issues.apache.org/jira/browse/HIVE-1903
             Project: Hive
          Issue Type: Bug
            Reporter: Jean-Daniel Cryans
             Fix For: 0.7.0


I tried joining two tables, let's call them "table" and "table_a", but I'm 
seeing an array of errors such as this:

{noformat}
java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
        at java.util.ArrayList.get(ArrayList.java:322)
        at 
org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat.getRecordReader(HiveHBaseTableInputFormat.java:118)
        at 
org.apache.hadoop.hive.ql.io.HiveInputFormat.getRecordReader(HiveInputFormat.java:231)
{noformat}

The reason is that HiveInputFormat.pushProjectionsAndFilters matches the 
aliases with startsWith so in my case the mappers for "table_a" were getting 
the columns from "table" as well as its own (and since it had less column, it 
was trying to get one too far in the array).

I don't know if just changing it to "equals" fill fix it, my guess is it won't, 
since it may break RCFiles.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to