The way that dictionary encoding is implemented in C++ (with
DictionaryType, DictionaryArray) is a construct particular to the
library.

At the protocol level, dictionary encoding is a property of field at
some level of a schema tree [1].

The dictionary itself is a record batch with a single field/column [2]

So based on the protocol there is no requirement for uniqueness in the
dictionary. I would say it would be preferable for implementations to
avoid constructing dictionaries with duplicates, though.

- Wes

[1]: https://github.com/apache/arrow/blob/master/format/Schema.fbs#L226
[2]: https://github.com/apache/arrow/blob/master/format/Message.fbs#L71

On Wed, Dec 19, 2018 at 5:51 PM Ben Kietzman <ben.kietz...@rstudio.com> wrote:
>
> Is it legal to create a DictionaryType whose dictionary has repeated
> values?

Reply via email to