huaxingao commented on a change in pull request #3745:
URL: https://github.com/apache/iceberg/pull/3745#discussion_r783466187



##########
File path: 
spark/v3.2/spark/src/main/java/org/apache/iceberg/spark/Spark3Util.java
##########
@@ -781,10 +801,29 @@ public static TableIdentifier 
identifierToTableIdentifier(Identifier identifier)
             Object value = 
CatalystTypeConverters.convertToScala(catalystValue, field.dataType());
             values.put(field.name(), String.valueOf(value));
           });
-          return new SparkPartition(values, partition.path().toString(), 
format);
+          FileStatus fileStatus =
+              
scala.collection.JavaConverters.seqAsJavaListConverter(partition.files()).asJava().get(0);
+
+          return new SparkPartition(values, 
fileStatus.getPath().getParent().toString(), format);
         }).collect(Collectors.toList());
   }
 
+  private static List<org.apache.spark.sql.catalyst.expressions.Expression> 
getPartitionFilterExpressions(
+      SparkSession spark, String tableName, Map<String, String> 
partitionFilter) {
+    List<org.apache.spark.sql.catalyst.expressions.Expression> 
filterExpressions = Lists.newArrayList();
+    for (Map.Entry<String, String> entry : partitionFilter.entrySet()) {
+      String filter = entry.getKey() + " = '" + entry.getValue() + "'";
+      try {
+        org.apache.spark.sql.catalyst.expressions.Expression expression =
+            SparkExpressionConverter.collectResolvedSparkExpression(spark, 
tableName, filter);

Review comment:
       @rdblue I changed the code to construct filter expression directly. 
Could you please take one more look? Thank you very much!
   
   I have manually checked to make sure the filter expression can be created 
correctly for all the numeric types, Date and Timestamp. There are tests for 
String and int partition filters in `TestAddFilesProcedure`, and I added a test 
for Date partition filter. There is a bug with Timestamp partition filter in 
the current code. I will fix it in a separate PR.
   
   The build failure doesn't seem to be related to my changes.




-- 
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]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to