gszadovszky commented on code in PR #197:
URL: https://github.com/apache/parquet-format/pull/197#discussion_r1319479960
##########
src/main/thrift/parquet.thrift:
##########
@@ -977,6 +1073,15 @@ struct ColumnIndex {
/** A list containing the number of null values for each page **/
5: optional list<i64> null_counts
+ /**
+ * Repetition and definition level histograms for the pages.
+ *
+ * This contains some redundancy with null_counts, however, to accommodate
+ * the widest range of readers both should be populated when either the max
+ * definition and repetition level meet the requirements specified in
+ * RepetitionDefinitionLevelHistogram.
+ **/
+ 6: optional list<RepetitionDefinitionLevelHistogram>
repetition_definition_level_histograms
Review Comment:
@emkornfield
> @gszadovszky was item one a consideration in the original index design
(e.g. why wasn't a list of structs used?), it would be good to be consistent
with the original philosophy here.
I was not in the community at the design phase and could not find any docs
that mention this aspect. But since the whole design and a PoC was coming from
Impala I doubt if they would not consider and actually benchmark the different
aspects of the potential representations. What I do remember was about Thrift
structure vs. data page-like encoding (to save space) and the winner was the
Thrift structure because it was faster to read.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]