You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Apache Arrow JIRA Bot (Jira)" <ji...@apache.org> on 2022/12/15 17:53:00 UTC

[jira] [Assigned] (ARROW-17061) [Python][Substrait] Acero consumer is unable to consume count function from substrait query plan

     [ https://issues.apache.org/jira/browse/ARROW-17061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Apache Arrow JIRA Bot reassigned ARROW-17061:
---------------------------------------------

    Assignee:     (was: Vibhatha Lakmal Abeykoon)

> [Python][Substrait] Acero consumer is unable to consume count function from substrait query plan
> ------------------------------------------------------------------------------------------------
>
>                 Key: ARROW-17061
>                 URL: https://issues.apache.org/jira/browse/ARROW-17061
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Python
>            Reporter: Richard Tia
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> SQL
> {code:java}
> SELECT
>     o_orderpriority,
>     count(*) AS order_count
> FROM
>     orders
> GROUP BY
>     o_orderpriority{code}
> The substrait plan generated from SQL, using Isthmus.
>  
> substrait count: 
> [https://github.com/substrait-io/substrait/blob/main/extensions/functions_aggregate_generic.yaml]
>  
> Running the substrait plan with Acero returns this error:
> {code:java}
> E   pyarrow.lib.ArrowInvalid: JsonToBinaryStream returned INVALID_ARGUMENT:(relations[0].root.input.aggregate.measures[0].measure) arguments: Cannot find field.  {code}
>  
> From substrait query plan:
> relations[0].root.input.aggregate.measures[0].measure
> {code:java}
> "measure": {
>   "functionReference": 0,
>   "args": [],
>   "sorts": [],
>   "phase": "AGGREGATION_PHASE_INITIAL_TO_RESULT",
>   "outputType": {
>     "i64": {
>       "typeVariationReference": 0,
>       "nullability": "NULLABILITY_REQUIRED"
>     }
>   },
>   "invocation": "AGGREGATION_INVOCATION_ALL",
>   "arguments": []
> }{code}
> {code:java}
> "extensions": [{
>   "extensionFunction": {
>     "extensionUriReference": 1,
>     "functionAnchor": 0,
>     "name": "count:opt"
>   }
> }],{code}
> Count is a unary function and should be consumable, but isn't in this case.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)