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.