>>> import pyarrow.compute as pc
>>> import pyarrow as pa
>>> exp = pc.ends_with(pc.field("first_name"), "rine")
>>> exp
<pyarrow.compute.Expression ends_with(first_name, {pattern="rine", ignore_case=false})>
>>> substrait_expression = exp.to_substrait(pa.schema([pa.field('first_name', 'string')]))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pyarrow/_compute.pyx", line 2458, in pyarrow._compute.Expression.to_substrait
File "pyarrow/_substrait.pyx", line 247, in pyarrow._substrait.serialize_expressions
File "pyarrow/error.pxi", line 154, in pyarrow.lib.pyarrow_internal_check_status
File "pyarrow/error.pxi", line 91, in pyarrow.lib.check_status
pyarrow.lib.ArrowNotImplementedError: No conversion function exists to convert the Arrow function ends_with to a Substrait call
>>>
I've also observed similar but would like to understand how it's possible to add these, can be they be configured via an API or does it require change to the underlying code.l
Describe the usage question you have. Please include as many useful details as possible.
I'm not sure why this is missing..
pyarrow.lib.ArrowNotImplementedError: No conversion function exists to convert the Arrow function ends_with to a Substrait call
Functions like pyarrow.compute.ends_with() should be mapped to substrait's ends_with()..
https://substrait.io/extensions/functions_string/
https://arrow.apache.org/docs/python/generated/pyarrow.compute.ends_with.html
Component(s)
C++, Python