hi Doug,

Gandiva has a much narrower scope of functionality than what you're
looking for. It generates optimized computational "kernels" that can
be used inside of query engine runtime.

Let's consider a SQL query like:

SELECT YEAR(a), MONTH(b), DAY(c), log(d - 1)
FROM table
WHERE e < 5 & f > 10

Gandiva is responsible for creating compiled functions that
efficiently evaluate the parts of the SELECT and WHERE block of the
query. The other parts of the SQL engine:

* Materializing row batches from "table"
* Performing the projection in the SELECT part on each batch
* Filtering rows based on the WHERE predicate

that's up to you. We are discussing developing a query engine in
Apache Arrow, but we need more developers in the project in all areas
to make faster progress

https://docs.google.com/document/d/10RoUZmiMQRi_J1FcPeVAUAMJ6d_ZuiEbaM2Y33sNPu4/edit?usp=sharing

- Wes

On Sun, Jul 14, 2019 at 4:19 PM Doug Friedman <dfrie...@gmail.com> wrote:
>
> Hello-
>
> I have a feeling this question will have a painfully simple answer so I
> apologize in advance:
>
> I am interested in the Gandiva portion of the apache arrow project, as a
> SQL-like interface to arrow data.  I browsed the source code and I see a
> lot relating to building and evaluating expression trees, but I cannot find
> anywhere where the Parser/Lexer frontend is defined.  I'm also looking for
> a binary/executable interface where I could evaluate a string expression in
> the Gandiva language against some arrow data.
>
> Am i sorely mistaken about the purpose of this sub-project?  Or am I
> missing something quite obvious?
>
> Thank you, and thanks for creating this excellent project.

Reply via email to