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) <petter.von.dolw...@gmail.com>

> 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
>
>
>

Reply via email to