You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Andrew Lamb (Jira)" <ji...@apache.org> on 2020/10/05 11:14:00 UTC
[jira] [Created] (ARROW-10173) [Rust][DataFusion] Improve
performance of equality to a constant predicate support
Andrew Lamb created ARROW-10173:
-----------------------------------
Summary: [Rust][DataFusion] Improve performance of equality to a constant predicate support
Key: ARROW-10173
URL: https://issues.apache.org/jira/browse/ARROW-10173
Project: Apache Arrow
Issue Type: Improvement
Reporter: Andrew Lamb
I noticed this behavior while working on support for DictionaryArrays and wanted to capture it in a ticket in case someone has time to work on it.
In order to implement an equality predicate to a constant such as {{d1 = 'three'}}, DataFusion effectively creates an array with the same value {{'three'}} repeated over and over again and uses the equality compute kernel. This is ... suboptimal.
Here is what the predicate looks like:
{code}
predicate: BinaryExpr {
left: CastExpr {
expr: Column {
name: "d1",
},
cast_type: Utf8,
},
op: Eq,
right: Literal {
value: Utf8("three"),
},
},
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)