lance_encoding

Module data

Source
Expand description

Data layouts to represent encoded data in a sub-Arrow format

These DataBlock structures represent physical layouts. They fill a gap somewhere between [arrow_data::data::ArrayData] (which, as a collection of buffers, is too generic because it doesn’t give us enough information about what those buffers represent) and arrow_array::array::Array (which is too specific, because it cares about the logical data type).

In addition, the layouts represented here are slightly stricter than Arrow’s layout rules. For example, offset buffers MUST start with 0. These additional restrictions impose a slight penalty on encode (to normalize arrow data) but make the development of encoders and decoders easier (since they can rely on a normalized representation)

Structs§

Enums§

  • A DataBlock is a collection of buffers that represents an “array” of data in very generic terms
  • Encoding enum serves as a encoding registration center.

Traits§