使用sparkSQL2.x读取MySQL方法和配置问题

版权声明:本人版权所有,翻版必究!!!!! https://blog.csdn.net/qq_36968512/article/details/82460859

读取数据之前需要你pc上有mysql,有了mysql之后你需要知道详细的配置信息例如账号和密码以及数据库下的表和表结构,你还有要连接驱动(点此下载https://download.csdn.net/download/qq_36968512/10471651)
1.首先你需要创建sparksession
2.设置一个map集合把JIDBC的链接配置放上去
3.使用SparkSession的方法读取mysql数据
4.使用action算子检查是否连接成功
本人案例如下:`

import org.apache.spark.sql
import org.apache.spark.sql.{DataFrame, SparkSession}

object source_data_mysql001 {
  def main(args: Array[String]): Unit = {
    val spark=new sql.SparkSession
      .Builder()
      .appName("source_data_mysql001")
      .master("local")
      .getOrCreate()
    val jdbc_conf: Map[String, String] = Map(
      "url" -> "jdbc:mysql://localhost:3306/table147",   //设置mysql的链接地址和指定数据库
      "driver" -> "com.mysql.jdbc.Driver",    //设置MySQL的链接驱动
      "dbtable" -> "people01",      //获取数据所在表的名成
      "user" -> "root",        //连接mysql的用户
      "password" -> "111111"   //连接用户的密码
    )
    val data_mysql: DataFrame = spark.read.format("jdbc")   //设置读取方式
      .options(jdbc_conf)    //放入jdbc的配置信息
      .load()

    data_mysql.show()   //使用一个action算子来检查是否能读取数据
  }
}

这里写图片描述
结果如下图(成功读取):
这里写图片描述
因为读取的数据是结构化的(在mysql中读取),所以开始获取的不是Dataset也不是RDD而是DataFrame !!!

猜你喜欢

转载自blog.csdn.net/qq_36968512/article/details/82460859