Scala+Spark连接MySQL数据库使用例子

环境:MySQL5.7

在写例子的时候,在pom.xml配置MySQL的驱动一直报 No suitable Driver

后面查了很多,说需要8.0以上的connector

配置后的例子如下:

在pom.xml中增加如下代码

 <properties>
    <mysql-connector-java.version>8.0.11</mysql-connector-java.version>
  </properties>
 <!-- 引入mysql的依赖 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-connector-java.version}</version>
    </dependency>

如果在maven中不主动加入jar,需要手动加上driver

package com.scala.test

import java.util.Properties

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{SQLContext, SparkSession}

object TestMySQL {
  def main(args: Array[String]): Unit = {
    //使用SparkSession.builder.替代SQLContext
    val sqlContext = SparkSession.builder.
      master("local")
      .appName("TestMysql")
      .getOrCreate()

    val url = "jdbc:mysql://127.0.0.1:3306/wj?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true"
    val table = "book"
    val properties = new Properties()
    properties.setProperty("user","root")
    properties.setProperty("password","root123")
    //需要传入Mysql的URL、表明、properties(连接数据库的用户名密码)
    val df = sqlContext.read.jdbc(url,table,properties)
    df.createOrReplaceTempView("book")
    sqlContext.sql("select * from book").show()

  }

}

 

运行如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值