You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@arrow.apache.org by Ha Cao <Ha...@twosigma.com> on 2022/11/28 21:13:17 UTC

[Java/C++] Expression evaluation

Hi Arrow community,

I am looking for a way to do filtering using expression in Java. I did some research and found some information about Gandiva Expression Compiler<https://arrow.apache.org/docs/dev/cpp/gandiva.html>, but not sure if it is recommended. Is there a better way to do row filtering using expression in Java?
Also, would you recommend using C++ compute framework (similar to Python) instead of something in Java?

Thank you very much!
Best,
Ha

Re: [Java/C++] Expression evaluation

Posted by David Li <li...@apache.org>.
Hi Ha,

Indeed there isn't a Java-native solution in the Arrow libraries here. Gandiva should work, but I am not very familiar with it. From a quick glance, it looks like the Java bindings have filtering and selection vectors. But if you want to actually prune your data using the selection vector, I don't think there's anything in Java to help you.

There's not bindings for the full compute framework, only Dataset (which isn't quite what you want here). I'm not aware of anyone working towards fuller bindings.

-David

On Mon, Nov 28, 2022, at 16:13, Ha Cao wrote:
> Hi Arrow community,
>  
> I am looking for a way to do filtering using expression in Java. I did some research and found some information about Gandiva Expression Compiler <https://arrow.apache.org/docs/dev/cpp/gandiva.html>, but not sure if it is recommended. Is there a better way to do row filtering using expression in Java?
> Also, would you recommend using C++ compute framework (similar to Python) instead of something in Java?
>  
> Thank you very much!
> Best,
> Ha

Re: [Java/C++] Expression evaluation

Posted by Chris Nuernberger <ch...@techascent.com>.
Hi Ha

If you are open to using Clojure  - which is another jvm language - you can
do any of your filtering/processing needs on arrow data -
https://github.com/techascent/tech.ml.dataset.

On Mon, Nov 28, 2022 at 2:13 PM Ha Cao <Ha...@twosigma.com> wrote:

> Hi Arrow community,
>
>
>
> I am looking for a way to do filtering using expression in Java. I did
> some research and found some information about Gandiva Expression Compiler
> <https://arrow.apache.org/docs/dev/cpp/gandiva.html>, but not sure if it
> is recommended. Is there a better way to do row filtering using expression
> in Java?
>
> Also, would you recommend using C++ compute framework (similar to Python)
> instead of something in Java?
>
>
>
> Thank you very much!
>
> Best,
>
> Ha
>