You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@arrow.apache.org by 1057445597 <10...@qq.com> on 2022/07/18 10:51:51 UTC

[C++][arrow::compute::Expression]Is there a way to construct arrow::compute::Expression from the evaluated Expression string?

I noticed that the class arrow::compute::Expression have a ToString member function, is there good way from a string mathematical Expression to construct a arrow::compute::Expression?


(subtract(a210, multiply(divide(a210, 203), 203)) == 0)




1057445597
1057445597@qq.com



&nbsp;

Re: [C++][arrow::compute::Expression]Is there a way to construct arrow::compute::Expression from the evaluated Expression string?

Posted by Weston Pace <we...@gmail.com>.
No.  There is no text format for expressions or related parser.  I believe
the Substrait project still would like to invent a text format someday and
expressions would need to be a part of that so I think there is some
interest.

In the meantime a PR here (or at the Substrait project to align on spec)
would be welcome.

As a workaround there are C++ utilities for creating expressions:

call("subtract", {field_ref("a210"), call("multiply", {call("divide",
{field_ref("a210"), literal(203)}), literal(203)})})

There is also Isthmus which can go from SQL -> Substrait and then you we
could pretty easily expose Substrait expression parsing as its own
standalone thing (returning arrow::compute::Expression)

On Mon, Jul 18, 2022 at 3:52 AM 1057445597 <10...@qq.com> wrote:

> I noticed that the class arrow::compute::Expression have a ToString member
> function, is there good way from a string mathematical Expression to
> construct a arrow::compute::Expression?
>
> (subtract(a210, multiply(divide(a210, 203), 203)) == 0)
>
> ------------------------------
> 1057445597
> 1057445597@qq.com
>
> <https://wx.mail.qq.com/home/index?t=readmail_businesscard_midpage&nocheck=true&name=1057445597&icon=http%3A%2F%2Fthirdqq.qlogo.cn%2Fg%3Fb%3Dsdk%26k%3DIlyZtc5eQb1ZfPd0rzpQlQ%26s%3D100%26t%3D1551800738%3Frand%3D1648208978&mail=1057445597%40qq.com&code=>
>
>