hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wan Chang (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HIVE-11097) HiveInputFormat uses String.startsWith to compare splitPath and PathToAliases
Date Wed, 24 Jun 2015 17:30:04 GMT
Wan Chang created HIVE-11097:
--------------------------------

             Summary: HiveInputFormat uses String.startsWith to compare splitPath and PathToAliases
                 Key: HIVE-11097
                 URL: https://issues.apache.org/jira/browse/HIVE-11097
             Project: Hive
          Issue Type: Bug
          Components: File Formats
    Affects Versions: 1.2.0, 1.0.0, 0.13.1, 0.14.0, 0.13.0
         Environment: Hive 0.13.1, Hive 2.0.0, hadoop 2.4.1
            Reporter: Wan Chang
            Priority: Critical


Say we have a sql as
{code}
create table if not exists test_orc_src (a int, b int, c int) stored as orc;
create table if not exists test_orc_src2 (a int, b int, d int) stored as orc;
insert overwrite table test_orc_src select 1,2,3 from src limit 1;
insert overwrite table test_orc_src2 select 1,2,4 from src limit 1;
set hive.auto.convert.join = false;
set hive.execution.engine=mr;
select
  tb.c
from test.test_orc_src tb
join (select * from test.test_orc_src2) tm
on tb.a = tm.a
where tb.b = 2
{code}
The correct result is 3 but it produced no result.

I find that in HiveInputFormat.pushProjectionsAndFilters
{code}
match = splitPath.startsWith(key) || splitPathWithNoSchema.startsWith(key);
{code}
It uses startsWith to combine aliases with path, so tm will match two alias in this case.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message