You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Johndee Burks (JIRA)" <ji...@apache.org> on 2014/05/01 04:54:15 UTC
[jira] [Created] (HIVE-6997) Semantic Exception for string
comparison filter
Johndee Burks created HIVE-6997:
-----------------------------------
Summary: Semantic Exception for string comparison filter
Key: HIVE-6997
URL: https://issues.apache.org/jira/browse/HIVE-6997
Project: Hive
Issue Type: New Feature
Reporter: Johndee Burks
Priority: Minor
-- Consider that you have the following dataset:
one,1
two,2
three,three
-- The DDL is the following:
create table j1 (a string, b string) row format delimited fields terminated by ',';
-- If you do a filter on column b like this:
select * from j1 where b!=1;
-- I would expect to see the data from row 2 and 3. However you only see row 2. If you make the following change to the query you get the correct results:
select * from j1 where b!='1';
-- Looking at an explain of both queries it appears that in the query without the quotes the 1 is being changed to 1.0 and then being compared to the string three incorrectly typed so the result is filtered out. I think that this should be improved with a Semantic exception when type of the column is string and the value being passed in the filter is not in quotes.
== Without Quotes
STAGE PLANS:
Stage: Stage-1
Map Reduce
Alias -> Map Operator Tree:
j1
TableScan
alias: j1
Filter Operator
predicate:
expr: (b <> 1.0)
type: boolean
Select Operator
expressions:
expr: a
type: string
expr: b
type: string
outputColumnNames: _col0, _col1
File Output Operator
compressed: false
GlobalTableId: 0
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
== With Quotes
STAGE PLANS:
Stage: Stage-1
Map Reduce
Alias -> Map Operator Tree:
j1
TableScan
alias: j1
Filter Operator
predicate:
expr: (b <> '1')
type: boolean
Select Operator
expressions:
expr: a
type: string
expr: b
type: string
outputColumnNames: _col0, _col1
File Output Operator
compressed: false
GlobalTableId: 0
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
--
This message was sent by Atlassian JIRA
(v6.2#6252)