wangyum opened a new pull request #30380:
URL: https://github.com/apache/spark/pull/30380


   ### What changes were proposed in this pull request?
   
   This pr fix filter for int column and value class java.lang.String when 
pruning partition column.
   
   How to reproduce this issue:
   ```scala
   spark.sql("CREATE table test (name STRING) partitioned by (id int) STORED AS 
PARQUET")
   spark.sql("CREATE VIEW test_view as select cast(id as string) as id, name 
from test")
   spark.sql("SELECT * FROM test_view WHERE id = '0'").explain
   ```
   ```
   20/11/15 06:19:01 INFO audit: ugi=root ip=unknown-ip-addr 
cmd=get_partitions_by_filter : db=default tbl=test
   20/11/15 06:19:01 INFO MetaStoreDirectSql: Unable to push down SQL filter: 
Cannot push down filter for int column and value class java.lang.String
   20/11/15 06:19:01 ERROR SparkSQLDriver: Failed in [SELECT * FROM test_view 
WHERE id = '0']
   java.lang.RuntimeException: Caught Hive MetaException attempting to get 
partition metadata by filter from Hive. You can set the Spark configuration 
setting spark.sql.hive.manageFilesourcePartitions to false to work around this 
problem, however this will result in degraded performance. Please report a bug: 
https://issues.apache.org/jira/browse/SPARK
    at 
org.apache.spark.sql.hive.client.Shim_v0_13.getPartitionsByFilter(HiveShim.scala:828)
    at 
org.apache.spark.sql.hive.client.HiveClientImpl.$anonfun$getPartitionsByFilter$1(HiveClientImpl.scala:745)
    at 
org.apache.spark.sql.hive.client.HiveClientImpl.$anonfun$withHiveState$1(HiveClientImpl.scala:294)
    at 
org.apache.spark.sql.hive.client.HiveClientImpl.liftedTree1$1(HiveClientImpl.scala:227)
    at 
org.apache.spark.sql.hive.client.HiveClientImpl.retryLocked(HiveClientImpl.scala:226)
    at 
org.apache.spark.sql.hive.client.HiveClientImpl.withHiveState(HiveClientImpl.scala:276)
    at 
org.apache.spark.sql.hive.client.HiveClientImpl.getPartitionsByFilter(HiveClientImpl.scala:743)
   ```
   
   ### Why are the changes needed?
   
   Fix bug.
   
   
   ### Does this PR introduce _any_ user-facing change?
   
   No.
   
   ### How was this patch tested?
   
   Unit test.
   


----------------------------------------------------------------
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:
[email protected]



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

Reply via email to