yuchuanchen commented on code in PR #21563:
URL: https://github.com/apache/flink/pull/21563#discussion_r1067625428


##########
flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/connectors/hive/HiveTableSource.java:
##########
@@ -282,12 +296,37 @@ public void applyDynamicFiltering(List<String> 
candidateFilterFields) {
 
     @Override
     public boolean supportsNestedProjection() {
-        return false;
+        if (!flinkConf.get(SOURCE_NESTED_PROJECTION_PUSHDOWN_ENABLED)
+                || flinkConf.get(TABLE_EXEC_HIVE_FALLBACK_MAPRED_READER)) {
+            return false;
+        }
+        List<String> supportedFormats =
+                
flinkConf.get(SOURCE_NESTED_PROJECTION_PUSHDOWN_SUPPORTED_FORMATS);
+        return supportedFormats != null
+                && 
supportedFormats.stream().anyMatch(getSerializationLib()::contains);
+    }
+
+    private String getSerializationLib() {

Review Comment:
   getSerializationLib() accesses hive metastore to find out whether it is 
parquet format(I didn't find another way, pls correct me if I am wrong). And 
currently, only parquet format supports nested projection pushdown.



-- 
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: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to