scala编程实现利用DataFrame插入如表8-2所示的两行数据到MySQL中,最后打印出age的最大值和age的总和。,显示结果图
时间: 2023-11-28 15:48:04 浏览: 95
sttp-oauth2:使用sttp在Scala中实现的OAuth2客户端库
抱歉,我无法在这里显示结果图。以下是Scala代码实现:
```scala
import org.apache.spark.sql.{DataFrame, SparkSession}
import java.util.Properties
object MySQLInsert {
def main(args: Array[String]): Unit = {
// 创建SparkSession对象
val spark = SparkSession.builder()
.appName("MySQLInsert")
.master("local[*]")
.getOrCreate()
// 读取CSV文件创建DataFrame
val df = spark.read
.option("header", "true")
.option("inferSchema", "true")
.csv("path/to/csv/file")
// 创建Properties对象,用于配置JDBC连接信息
val prop = new Properties()
prop.put("user", "root")
prop.put("password", "123456")
prop.put("driver", "com.mysql.jdbc.Driver")
// 将数据插入MySQL中
df.write.mode("append")
.jdbc("jdbc:mysql://localhost:3306/test", "student", prop)
// 查询age的最大值和总和
val resultDF = spark.read.jdbc("jdbc:mysql://localhost:3306/test", "student", prop)
resultDF.agg(max("age"), sum("age")).show()
// 关闭SparkSession对象
spark.stop()
}
}
```
需要注意的是,代码中的连接信息和表名需要根据实际情况进行修改。
阅读全文