You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ColumnReader, SelectiveColumnReader and SelectiveStructColumnReader classes need to be moved to facebook::velox::dwio::common::reader. However we need to note that some of their contents are just related to DWRF and ORC. For example:
StripeStream and FlatMapContext are specific to DWRF
const auto& entry = index_->entry(i);
auto columnStats =
buildColumnStatisticsFromProto(entry.statistics(), context);
if (!testFilter(filter, columnStats.get(), rowGroupSize, type_))
Here buildColumnStatisticsFromProto() is DWRF specific.
For Parquet, the columnstats are per RowGroup, and stored together in the footer. Filtering will be done in ParquetRowReader::filterRowGroups(). The file level ColumnStats from all ColumnChunk statistics need to be merged manually.
null handling
ColumnReader null handling doesn't apply to Parquet. Move out from
Since We moved ColumnReader and SelectiveColumnReader, there are some leftover Dwrf specific leftovers and we may need to create a new level of ColumnReader super classes for Dwrf only. These will be DwrfColumnReader and DwrfSelectiveColumnReader in dwio::dwrf::reader. However If the leftovers are not too much we may also merge them in each Dwrf child XXXColumnReader classes.
The text was updated successfully, but these errors were encountered:
This is a sub issue of #1533
ColumnReader, SelectiveColumnReader and SelectiveStructColumnReader classes need to be moved to
facebook::velox::dwio::common::reader
. However we need to note that some of their contents are just related to DWRF and ORC. For example:Here
buildColumnStatisticsFromProto()
is DWRF specific.For Parquet, the columnstats are per RowGroup, and stored together in the footer. Filtering will be done in
ParquetRowReader::filterRowGroups()
. The file level ColumnStats from all ColumnChunk statistics need to be merged manually.ColumnReader null handling doesn't apply to Parquet. Move out from
Since We moved ColumnReader and SelectiveColumnReader, there are some leftover Dwrf specific leftovers and we may need to create a new level of ColumnReader super classes for Dwrf only. These will be DwrfColumnReader and DwrfSelectiveColumnReader in dwio::dwrf::reader. However If the leftovers are not too much we may also merge them in each Dwrf child
XXXColumnReader
classes.The text was updated successfully, but these errors were encountered: