Re: Limitations in the IndexPredicateAnalyzer

2013-12-22 Thread Petter von Dolwitz (Hem)
Hi Navis,

ok then I know. I'll have a look at that later on.

/Petter


2013/12/18 Navis류승우 

> IndexPredicateAnalyzer in hive supports AND conjunction only because it's
> simple. Anyone can implement one that supports conjunctions like OR, CASE,
> etc. if needed. If you might provide that to hive community, it would be
> really appreciated.
>
> ps.
> There is a draft patch handling OR conjuncted predicates on HBaseHandler
> (thanks to Teddy).
> I'll arrange that to be included into hive trunk in sometime.
>
>
>
>
> 2013/12/11 Petter von Dolwitz (Hem) 
>
> Hi,
>>
>> I use the HiveStoragePredicateHandler interface on my storage handler to
>> be able to push down filters to my record reader for early pruning. It
>> seems like the IndexPredicateAnalyzer is a bit limited on what expression
>> that could be pushed down.
>>
>> From a comment in IndexPredicateAnalyzer:
>> "We can only push down stuff which appears as part of a pure
>> conjunction:  reject OR, CASE, etc."
>>
>> As such I can push down simple AND expressions in my where clause (and
>> also IN RLIKE and LIKE) but I cannot use OR.
>>
>> Does anybody know why this limitation exists? A guess from my side is
>> that it was originally developed for HBASE integration where OR expressions
>> might not translate well.  Having other data sources with custom indexes
>> (or relational databases for that matter) would benefit from being able to
>> handle a wider spectrum of expression.
>>
>> Thanks,
>> Petter
>>
>>
>>
>


Re: Limitations in the IndexPredicateAnalyzer

2013-12-17 Thread Navis류승우
IndexPredicateAnalyzer in hive supports AND conjunction only because it's
simple. Anyone can implement one that supports conjunctions like OR, CASE,
etc. if needed. If you might provide that to hive community, it would be
really appreciated.

ps.
There is a draft patch handling OR conjuncted predicates on HBaseHandler
(thanks to Teddy).
I'll arrange that to be included into hive trunk in sometime.




2013/12/11 Petter von Dolwitz (Hem) 

> Hi,
>
> I use the HiveStoragePredicateHandler interface on my storage handler to
> be able to push down filters to my record reader for early pruning. It
> seems like the IndexPredicateAnalyzer is a bit limited on what expression
> that could be pushed down.
>
> From a comment in IndexPredicateAnalyzer:
> "We can only push down stuff which appears as part of a pure conjunction:
> reject OR, CASE, etc."
>
> As such I can push down simple AND expressions in my where clause (and
> also IN RLIKE and LIKE) but I cannot use OR.
>
> Does anybody know why this limitation exists? A guess from my side is that
> it was originally developed for HBASE integration where OR expressions
> might not translate well.  Having other data sources with custom indexes
> (or relational databases for that matter) would benefit from being able to
> handle a wider spectrum of expression.
>
> Thanks,
> Petter
>
>
>


Limitations in the IndexPredicateAnalyzer

2013-12-11 Thread Petter von Dolwitz (Hem)
Hi,

I use the HiveStoragePredicateHandler interface on my storage handler to be
able to push down filters to my record reader for early pruning. It seems
like the IndexPredicateAnalyzer is a bit limited on what expression that
could be pushed down.

>From a comment in IndexPredicateAnalyzer:
"We can only push down stuff which appears as part of a pure conjunction:
reject OR, CASE, etc."

As such I can push down simple AND expressions in my where clause (and also
IN RLIKE and LIKE) but I cannot use OR.

Does anybody know why this limitation exists? A guess from my side is that
it was originally developed for HBASE integration where OR expressions
might not translate well.  Having other data sources with custom indexes
(or relational databases for that matter) would benefit from being able to
handle a wider spectrum of expression.

Thanks,
Petter