spark-sql 写入mysql

本文介绍如何使用 Apache Spark 通过 Spark SQL 模块与 MySQL 数据库进行数据交互的方法。主要展示了如何创建 Spark 配置并建立 SparkSession,然后将 RDD 转换为 Dataset,并最终写入 MySQL 数据库的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package day09

import java.util.Properties

import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions
import org.apache.spark.sql.{DataFrame, Dataset, SaveMode, SparkSession}

/**
 * @author yangkun
 * @date 2020/10/29 9:24
 * @version 1.0
 */
object Spark01_SQL_MySQL {
  def main(args: Array[String]): Unit = {
    //创建配置文件对象
    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("SparkSQL01_MySQL")
    //创建SparkSession对象
    val spark: SparkSession = SparkSession.builder().config(conf).getOrCreate()

    import spark.implicits._

   
    //向MySQL数据库中写入数据
    val rdd: RDD[User] = spark.sparkContext.makeRDD(List(User("banzhang",20),User("jingjing",18)))
    //将RDD转换为DF
    //val df: DataFrame = rdd.toDF()
    //df.write.format("jdbc").save()

    //将RDD转换为DS
    val ds: Dataset[User] = rdd.toDS()
    ds.write.format("jdbc")
      .option("url", "jdbc:mysql://hadoop100:3306/test")
      .option("driver", "com.mysql.jdbc.Driver")
      .option("user", "root")
      .option("password", "123")
      .option(JDBCOptions.JDBC_TABLE_NAME, "user")
      .mode(SaveMode.Append)
      .save()
    spark.stop()
  }
}
case class User(name:String,age:Int)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值