Class foreign_storage::ParquetInPlaceEncoder¶
-
class
ParquetInPlaceEncoder
: public foreign_storage::ParquetScalarEncoder¶ Subclassed by foreign_storage::TypedParquetInPlaceEncoder< V, T, NullType >, foreign_storage::TypedParquetInPlaceEncoder< int64_t, int32_t, NullType >, foreign_storage::TypedParquetInPlaceEncoder< V, V >
Public Functions
-
ParquetInPlaceEncoder
(Data_Namespace::AbstractBuffer *buffer, const size_t omnisci_data_type_byte_size, const size_t parquet_data_type_byte_size)¶
-
virtual void
reserve
(const size_t num_elements) = 0¶
-
void
appendData
(const int16_t *def_levels, const int16_t *rep_levels, const int64_t values_read, const int64_t levels_read, int8_t *values)¶ Appends Parquet data to the buffer using an in-place algorithm. Any necessary transformation or validation of the data and decoding of nulls is part of appending the data. Each class inheriting from this abstract class must implement the functionality to copy, nullify and encode the data.
Note that the Parquet format encodes nulls using Dremel encoding.
- Parameters
def_levels
: - an array containing the Dremel encoding definition levelsrep_levels
: - an array containing the Dremel encoding repetition levelsvalues_read
: - the number of non-null values readlevels_read
: - the total number of values (non-null & null) that are readvalues
: - values that are read
Protected Attributes
-
const size_t
omnisci_data_type_byte_size_
¶
-
const size_t
parquet_data_type_byte_size_
¶
Private Functions
-
void
decodeNullsAndEncodeData
(int8_t *data_ptr, const int16_t *def_levels, const int64_t values_read, const int64_t levels_read, const bool do_encoding)¶
-