mapleFU commented on code in PR #197: URL: https://github.com/apache/parquet-format/pull/197#discussion_r1302013630
########## src/main/thrift/parquet.thrift: ########## @@ -191,6 +191,64 @@ enum FieldRepetitionType { REPEATED = 2; } +/** + * A histogram of repetition and definition levels for either a page or column chunk. + * + * This is useful for: + * 1. Estimating the size of the data when materialized in memory + * 2. For filter push-down on nulls at various levels of nested structures and + * list lengths. + */ +struct RepetitionDefinitionLevelHistogram { + /** + * When present, there is expected to be one element corresponding + to each repetition (i.e. size=max repetition_level+1) Review Comment: ```suggestion * to each repetition (i.e. size=max repetition_level+1) ``` ########## src/main/thrift/parquet.thrift: ########## @@ -191,6 +191,64 @@ enum FieldRepetitionType { REPEATED = 2; } +/** + * A histogram of repetition and definition levels for either a page or column chunk. + * + * This is useful for: + * 1. Estimating the size of the data when materialized in memory Review Comment: (2) can be easily done with these statistics, but I wonder how can we estimate the size of data with rep-def histogram...Is there any formulas? ########## src/main/thrift/parquet.thrift: ########## @@ -974,6 +1052,13 @@ 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 Review Comment: ```suggestion * This contains some redundancy with null_counts, however, to accommodate the ``` -- 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: dev-unsubscr...@parquet.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org