GitHub user ouyangxiaochen opened a pull request:
https://github.com/apache/spark/pull/0
[SPARK-25229][SQL] Partition fields are uniformly processed into lowercase
## What changes were proposed in this pull request?
`scala> spark.version
res0: String = 2.3.0
scala> spark.sql("create table t(id int,name string) partitioned by(aA
string)")
res1: org.apache.spark.sql.DataFrame = []
scala> spark.sql("insert into table t values(1,'Donahue','US')")
res2: org.apache.spark.sql.DataFrame = []
scala> spark.sql("select id,name from t where aA = 'US'").show(1)
org.apache.spark.sql.AnalysisException: Expected only partition pruning
predicates: List(isnotnull(aA#25), (aA#25 = US));
at
org.apache.spark.sql.catalyst.catalog.ExternalCatalogUtils$.prunePartitionsByFilter(ExternalCatalogUtils.scala:145)
at
org.apache.spark.sql.hive.MetastoreRelation.getHiveQlPartitions(MetastoreRelation.scala:158)
at
org.apache.spark.sql.hive.execution.HiveTableScanExec$$anonfun$10.apply(HiveTableScanExec.scala:151)
at
org.apache.spark.sql.hive.execution.HiveTableScanExec$$anonfun$10.apply(HiveTableScanExec.scala:150)
at org.apache.spark.util.Utils$.withDummyCallSite(Utils.scala:2393)
at
org.apache.spark.sql.hive.execution.HiveTableScanExec.doExecute(HiveTableScanExec.scala:149)
at
org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:115)
at
org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:115)
at
org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$1.apply(SparkPlan.scala:136)
at
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
at
org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:133)
at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:114)
at
org.apache.spark.sql.execution.SparkPlan.getByteArrayRdd(SparkPlan.scala:240)
at org.apache.spark.sql.execution.SparkPlan.executeTake(SparkPlan.scala:323)
at
org.apache.spark.sql.execution.CollectLimitExec.executeCollect(limit.scala:39)
at
org.apache.spark.sql.Dataset$$anonfun$org$apache$spark$sql$Dataset$$execute$1$1.apply(Dataset.scala:2194)
at
org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:57)
at org.apache.spark.sql.Dataset.withNewExecutionId(Dataset.scala:2547)
at
org.apache.spark.sql.Dataset.org$apache$spark$sql$Dataset$$execute$1(Dataset.scala:2193)
at
org.apache.spark.sql.Dataset.org$apache$spark$sql$Dataset$$collect(Dataset.scala:2200)
at org.apache.spark.sql.Dataset$$anonfun$head$1.apply(Dataset.scala:1936)
at org.apache.spark.sql.Dataset$$anonfun$head$1.apply(Dataset.scala:1935)
at org.apache.spark.sql.Dataset.withTypedCallback(Dataset.scala:2577)
at org.apache.spark.sql.Dataset.head(Dataset.scala:1935)
at org.apache.spark.sql.Dataset.take(Dataset.scala:2150)
at org.apache.spark.sql.Dataset.showString(Dataset.scala:240)
at org.apache.spark.sql.Dataset.show(Dataset.scala:527)
at org.apache.spark.sql.Dataset.show(Dataset.scala:487)
... 48 elided`
## How was this patch tested?
update existing test case
Please review http://spark.apache.org/contributing.html before opening a
pull request.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ouyangxiaochen/spark SPARK-CaseSensitive
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/spark/pull/0.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #0
commit 426dd2e8c9aba6bff15cc5d4c1755730bc378fca
Author: ouyangxiaochen
Date: 2018-08-24T13:15:49Z
ExternalCatalogUtils.prunePartitionsByFilter throw an AnalysisException
when partition name contains upper letter
---
-
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org