chenjunjiedada commented on a change in pull request #830: Support name mapping 
resolution for parquet
URL: https://github.com/apache/incubator-iceberg/pull/830#discussion_r405215861
 
 

 ##########
 File path: 
parquet/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java
 ##########
 @@ -75,6 +86,16 @@ public ParquetDictionaryRowGroupFilter(Schema schema, 
Expression unbound, boolea
    */
   public boolean shouldRead(MessageType fileSchema, BlockMetaData rowGroup,
                             DictionaryPageReadStore dictionaries) {
+    StructType struct;
+
+    if (nameMapping != null) {
+      MessageType project = ParquetSchemaUtil.pruneColumnsByName(fileSchema, 
schema, nameMapping);
+      struct = ParquetSchemaUtil.convert(project).asStruct();
+    } else {
+      struct = schema.asStruct();
+    }
+
+    this.expr = Binder.bind(struct, Expressions.rewriteNot(expr), 
caseSensitive);
 
 Review comment:
   The added unit test failed if we only use the ID fallback strategy. How 
about we keep both the original logic and the name mapping logic?

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to