Significant space can be saved if data have many repeated values: dictionary-encoding is the idea of representing data values via integers that references indexes in a dictionary that consists of unique values.
Tip
Since a dictionary is an optional property on any array in Arrow, any array can be dictionary-encoded
The layout of a dictionary-encoded array is a primitive integer array of non-negative integers anda separate dictionary array with the respective layout of the appropriate type, as the following example of Dictionary Encoded String Array shows
