您现在的位置是:首页 > 文章详情

Spark 写出MySQL报错,java.sql.BatchUpdateException

日期:2018-04-10点击:425

spark DataFrame 写出到MySQL时报如下错误:

java.sql.BatchUpdateException: Column ‘name’ specified twice at sun.reflect

原因: 写出的DataFrame 表结构和MySQL中创建的表结构不一致,
2个 DataFrame join 后的结果中有两列都是“name”列。

解决: 修改DataFrame写出结构。核心代码如下:

 val res1: Dataset[Row] = studentInfoDF.join(stu_scoresDF, studentInfoDF.col("name") === stu_scoresDF.col("name")) .filter(stu_scoresDF.col("score") > 80) res1.show(false) import spark.implicits._ val out: Dataset[(String, Int, String)] = res1.map(row => (row.getAs[String](0), row.getAs[Int](1), row.getAs[String](3))) out.toDF("name","age","score").write.mode("append").jdbc(url,"good_stu",prop)
原文链接:https://yq.aliyun.com/articles/624492
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章