Github user wangyum commented on a diff in the pull request:
https://github.com/apache/spark/pull/18266#discussion_r137943044
--- Diff:
sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JDBCRDD.scala
---
@@ -80,7 +80,7 @@ object JDBCRDD extends Logging {
* @return A Catalyst schema corresponding to columns in the given order.
*/
private def pruneSchema(schema: StructType, columns: Array[String]):
StructType = {
- val fieldMap = Map(schema.fields.map(x => x.metadata.getString("name")
-> x): _*)
+ val fieldMap = Map(schema.fields.map(x => x.name -> x): _*)
--- End diff --
```
scala>
org.apache.spark.sql.catalyst.parser.CatalystSqlParser.parseTableSchema("id
int, name string").fields.map(x => x.metadata.getString("name") -> x)
java.util.NoSuchElementException: key not found: name
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.types.Metadata.get(Metadata.scala:111)
at org.apache.spark.sql.types.Metadata.getString(Metadata.scala:60)
at $anonfun$1.apply(<console>:24)
at $anonfun$1.apply(<console>:24)
at
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at
scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:186)
... 48 elided
```
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]