You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Today, DataFusion's expression evaluation does not work natively on DictionaryArrays; Instead what happens is that the DictionaryArrays are unpacked into their base type (e.g. a string dictionary gets unpacked into a StringArray)
This is very inefficient, especially for expressions like col != 'foo' -- if col is a DictionaryArray this filter could be applied by finding 'foo' in the dictionary and then checking for values with that dictionary index, and the dictionary could be reused at the output.
Describe the solution you'd like
Add kernels that can compare DictionaryArrays (eq_dict, lt_dict, etc)
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Today, DataFusion's expression evaluation does not work natively on
DictionaryArray
s; Instead what happens is that the DictionaryArrays are unpacked into their base type (e.g. a string dictionary gets unpacked into aStringArray
)This is very inefficient, especially for expressions like
col != 'foo'
-- ifcol
is aDictionaryArray
this filter could be applied by finding'foo'
in the dictionary and then checking for values with that dictionary index, and the dictionary could be reused at the output.Describe the solution you'd like
DictionaryArrays
(eq_dict
,lt_dict
, etc)DataType::Dictionary
to the theeq_dyn
and the other dynamic kernels implemented in implementeq_dyn
,neq_dyn
,lt_dyn
,lt_eq_dyn
,gt_dyn
,gt_eq_dyn
#858Describe alternatives you've considered
N/A
Additional context
The text was updated successfully, but these errors were encountered: