You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Joris Van den Bossche (Jira)" <ji...@apache.org> on 2021/02/17 16:57:00 UTC

[jira] [Created] (ARROW-11673) [C++] Casting dictionary type to use different index type

Joris Van den Bossche created ARROW-11673:
---------------------------------------------

             Summary: [C++] Casting dictionary type to use different index type
                 Key: ARROW-11673
                 URL: https://issues.apache.org/jira/browse/ARROW-11673
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Joris Van den Bossche


It's currently not implemented to cast from one dictionary type to another dictionary type to change the index type. 

Small example:

{code}
In [2]: arr = pa.array(['a', 'b', 'a']).dictionary_encode()

In [3]: arr.type
Out[3]: DictionaryType(dictionary<values=string, indices=int32, ordered=0>)

In [5]: arr.cast(pa.dictionary(pa.int8(), pa.string()))
...
ArrowNotImplementedError: Unsupported cast from dictionary<values=string, indices=int32, ordered=0> to dictionary<values=string, indices=int8, ordered=0> (no available cast function for target type)
../src/arrow/compute/cast.cc:112  GetCastFunctionInternal(cast_options->to_type, args[0].type().get())
{code}

From https://stackoverflow.com/questions/66223730/how-to-change-column-datatype-with-pyarrow



--
This message was sent by Atlassian Jira
(v8.3.4#803005)