Hi all,

I wanted to share some work one of my (now former) students, Karshit
Shah, has done with integrating Apache Arrow into Calcite. Karshit has
written an Arrow adapter that's able to perform filtering and
projections natively on Arrow data using Gandiva so these expressions
can be JITed using LLVM. The pull request[0] needs some cleanup, but
the code is in relatively good shape.

Right now, the adapter only reads from files, but I think there are a
number of exciting extensions to this that are possible. For example,
Arrow has a client-server framework Flight which could be connected
with Calcite, perhaps via Avatica. (Andy Grove was doing some work on
this last year[1] although I'm not sure of the progress.)

The biggest blocker on this is actually not the Calcite code, but the
availability of a suitably built Arrow dependency with Gandiva along
with the appropriate CI configuration. I opened a JIRA on the Arrow
project with some more details[2].

I'd love some thoughts on the approach and some help in pushing this
over the finish line.

[0] https://github.com/apache/calcite/pull/2133
[1] 
https://mail-archives.apache.org/mod_mbox/calcite-dev/202002.mbox/%3cCAJEf=X5xvXLQpJkX_VjJk=TnNRwT52v0=p28sczmid1tyce...@mail.gmail.com%3e
[2] https://issues.apache.org/jira/browse/ARROW-11135
--
Michael Mior
mm...@apache.org

Reply via email to