Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
2.3.0
-
None
-
None
Description
sql("create table tabel1(b int) partitioned by (partColumn int)") sql("analyze table tabel1 compute statistics for columns partColumn, b")
java.util.NoSuchElementException: key not found: partColumn at scala.collection.MapLike$class.default(MapLike.scala:228) at scala.collection.AbstractMap.default(Map.scala:59) at scala.collection.MapLike$class.apply(MapLike.scala:141) at scala.collection.AbstractMap.apply(Map.scala:59) at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$alterTableStats$1$$anonfun$apply$mcV$sp$3.apply(HiveExternalCatalog.scala:648) at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$alterTableStats$1$$anonfun$apply$mcV$sp$3.apply(HiveExternalCatalog.scala:647) at scala.collection.immutable.Map$Map2.foreach(Map.scala:137) at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$alterTableStats$1.apply$mcV$sp(HiveExternalCatalog.scala:647) at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$alterTableStats$1.apply(HiveExternalCatalog.scala:634) at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$alterTableStats$1.apply(HiveExternalCatalog.scala:634) at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:97) at org.apache.spark.sql.hive.HiveExternalCatalog.alterTableStats(HiveExternalCatalog.scala:634) at org.apache.spark.sql.catalyst.catalog.SessionCatalog.alterTableStats(SessionCatalog.scala:375) at org.apache.spark.sql.execution.command.AnalyzeColumnCommand.run(AnalyzeColumnCommand.scala:57) at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:78) at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:75) at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:91) at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:185) at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:185) at org.apache.spark.sql.Dataset$$anonfun$47.apply(Dataset.scala:3036) at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:77) at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3035) at org.apache.spark.sql.Dataset.<init>(Dataset.scala:185) at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:70) at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:636) ... 39 elided
Looks like regression introduced by https://github.com/apache/spark/pull/18248
In HiveExternalCatalog.alterTableState colNameTypeMap contains lower case column names.
Attachments
Issue Links
- duplicates
-
SPARK-21599 Collecting column statistics for datasource tables may fail with java.util.NoSuchElementException
- Resolved