hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Hanson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-4579) Create a SARG interface for RecordReaders
Date Wed, 29 May 2013 01:05:21 GMT

    [ https://issues.apache.org/jira/browse/HIVE-4579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13668881#comment-13668881
] 

Eric Hanson commented on HIVE-4579:
-----------------------------------

Overall this looks great. One issue that I think needs to be rephrased involves NOT. The expression
^(a > b) is the same as a <= b in SQL semantics. In general, for all the basic relational
operators, <, >, <=, >=, <>, =, you can invert them when you apply NOT to
them, thus eliminating the NOT, because any comparison with NULL is false. Of course, not
all negated Boolean clauses can be converted to equivalent clauses without negation, and negation
will have to be handled as a first class thing for those cases.

I'm not sure what you mean by "maybe" answers.

Can you be more explicit about "All functions and udfs will be considered as indeterminate
and eliminate the disjunction sub-expression that they occur in"? I am not sure what that
means exactly. I think you mean that such clauses will be removed from the SARG and treated
as a residual.

For "The primitive clauses will be
extended to include presence in a bloom filter" do you mean that bloom filters will be added
as a primitive clause type later? Please clarify.


                
> Create a SARG interface for RecordReaders
> -----------------------------------------
>
>                 Key: HIVE-4579
>                 URL: https://issues.apache.org/jira/browse/HIVE-4579
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Owen O'Malley
>            Assignee: Owen O'Malley
>         Attachments: h-4579.patch, pushdown.pdf
>
>
> I think we should create a SARG (http://en.wikipedia.org/wiki/Sargable) interface for
RecordReaders. For a first pass, I'll create an API that uses the value stored in hive.io.filter.expr.serialized.
> The desire is to define an simpler interface that the direct AST expression that is provided
by hive.io.filter.expr.serialized so that the code to evaluate expressions can be generalized
instead of put inside a particular RecordReader.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message