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]

Reply via email to