admin管理员组

文章数量:1794759

scala+spark写数据到MySQL数据库

scala+spark写数据到MySQL数据库

开发环境: IDEA

本人搭建MySQL数据库环境版本: 5.7.28 

具体搭建教程见:  mysql-5.7.28详细安装教程及配置_xitaocao9352的博客-CSDN博客

(1) 需要导入pom依赖

<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency>

若需要导入mysql-connector-java相关jar包,见百度链接:链接:pan.baidu/s/1QnqSEMSmV2yRIXDLUN7jrw  提取码:iuvc

(2) 通过sparkSQL构造数据集DataFrame

val conf = new SparkConf().setAppName("WriteDataToMySQL").setMaster("local[*]") val sparkSession = SparkSession.builder().config(conf).getOrCreate() val sc = sparkSession.sparkContext val spark = new SQLContext(sc) val dataFrame = spark.createDataFrame(Seq( (1, 1, "2", "5"), (2, 2, "3", "6"), (3, 2, "35", "68"), (6, 2, "34", "67"), (7, 2, "38", "68"), (9, 2, "36", "69"), (10, 3, null, null), (11, 3, null, "43") )).toDF("id", "label", "col1", "col2") dataFrame.show()

(3)将dataframe结构化数据写入到MySQL

val jdbl_url = "jdbc:mysql://IP地址:3306/数据库" //需要提前在Mysql上创建好数据库 val table = "test" val username = "root" val userpwd = "123456" dataFrame.write .format("jdbc") .option("url", jdbl_url) //数据库连接url .option("dbtable", table) //业务表 .option("user", username) .option("password", userpwd) .mode(SaveMode.Append) //可以配置插入mode,overwrite覆盖,append追加,ignore忽略,error默认表存在报错 .save()

说明:数据写入过程,只需要提前在MySQL数据库创建数据库,表结构等无需创建,程序自动会创建。

本文标签: 数据库数据ScalasparkmySQL