配置Spark通过JDBC连接数据库MySQL,编程实现利用DataFrame插入如表5-3所示的两行数据到MySQL中,最后打印出age的最大值和age的总和。
时间: 2024-02-17 08:02:16 浏览: 129
JSP中使用JDBC连接MySQL数据库的详细步骤
5星 · 资源好评率100%
好的,以下是实现步骤:
1.首先,需要下载并安装MySQL JDBC驱动程序。你可以通过官网下载或者通过Maven进行依赖管理。
2.在Spark中创建一个DataFrame,包含表5-3中的数据。可以使用以下代码创建:
```
val data = Seq(("John", 25), ("Bob", 30))
val df = data.toDF("name", "age")
```
3.接下来,需要定义连接MySQL的URL、用户名和密码。假设MySQL服务器运行在本地主机上,端口号为3306,数据库名称为test,用户名为root,密码为123456,则代码如下:
```
val url = "jdbc:mysql://localhost:3306/test"
val user = "root"
val password = "123456"
```
4.使用DataFrame的write方法将数据写入MySQL数据库中,代码如下:
```
df.write
.format("jdbc")
.option("url", url)
.option("user", user)
.option("password", password)
.option("dbtable", "my_table")
.mode(SaveMode.Append)
.save()
```
其中,`.option("dbtable", "my_table")`用于指定数据库中要插入数据的表名,`.mode(SaveMode.Append)`表示将数据追加到表中。
5.最后,使用Spark SQL API从MySQL数据库中读取数据,并计算age的最大值和总和,代码如下:
```
val jdbcDF = spark.read
.format("jdbc")
.option("url", url)
.option("user", user)
.option("password", password)
.option("dbtable", "my_table")
.load()
jdbcDF.select(max("age"), sum("age")).show()
```
其中,`max("age")`用于计算age的最大值,`sum("age")`用于计算age的总和,`.show()`用于打印结果。
这样就完成了利用DataFrame插入数据到MySQL,并计算age的最大值和总和的任务。
阅读全文