SparkSql写数据到Mysql中

import org.apache.spark.sql.{SaveMode, SparkSession}
import org.apache.spark.sql.types.{FloatType, IntegerType, StringType, StructField, StructType}

object MysqlWrite {

  def main(args: Array[String]): Unit = {

    val spark = SparkSession.builder()
      .master("local[6]")
      .appName("mysql write")
      .getOrCreate()

      //定义表约束信息
    val schema = StructType(
      List(
        StructField("name", StringType),
        StructField("age", IntegerType),
        StructField("gpa", FloatType)
      )
    )

    //读取数据集 注意:使用csv读取 如果不是,分割 需要指定分隔符即可
    val readDF = spark.read.schema(schema).option("delimiter", "\t").csv("data/studenttab10k")

    import spark.implicits._

    //etl处理
    val resultDF = readDF.where('age < 30)

    //落地
    resultDF.write
        .format("jdbc")
        .mode(SaveMode.Overwrite)
        .option("url", "jdbc:mysql://hadoop100:3306/spark_test")
        .option("dbtable", "student10k")
        .option("user", "root")
        .option("password", "root")
        .save()

    spark.stop()

  }

}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值