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]

Reply via email to