Description
It seems APIs in DataFrameReader/DataFrameWriter share format("...").load() or format("...").save() APIs for json(...)/csv(...) and etc.
We can share this within DataFrameReader.jdbc(...) too consistently with other APIs.
- // connectionProperties should override settings in extraOptions. - val params = extraOptions.toMap ++ connectionProperties.asScala.toMap - val options = new JDBCOptions(url, table, params) - val relation = JDBCRelation(parts, options)(sparkSession) - sparkSession.baseRelationToDataFrame(relation) + // connectionProperties should override settings in extraOptions + this.extraOptions = this.extraOptions ++ (connectionProperties.asScala) + // explicit url and dbtable should override all + this.extraOptions += ("url" -> url, "dbtable" -> table) + format("jdbc").load()