spark 读取mysql数据

spark读取mysql数据

使用SparkSession去读取mysql,将数据作为DataFrame 再根据具体的需求,使用合适的算子进行处理。

话不多说,上代码

  val spark: SparkSession = SparkSession.builder().appName("readMysql").master("local[4]").getOrCreate()
  //这些数据在配置文件中
  //ConfigurationManager2 是自己写的工具类,方便读取配置文件
  val url: String = ConfigurationManager2.getProperty("mysql-url")
  val username: String = ConfigurationManager2.getProperty("username")
  val password: String = ConfigurationManager2.getProperty("password")
  val props = new Properties()
  props.setProperty("user", username)
  props.setProperty("password",password )

  //开始读取数据
  //spark_read_table_test 是mysql的表名
  val frame: DataFrame = spark.read.jdbc(url, "spark_read_table_test", props)

  var rowNumbers: Long = frame.count()
  println("数据总条数据: "+rowNumbers)

  var dataJsonAsList = new StringBuffer()
  dataJsonAsList.append("[")
  var count = 0
  var rownumber  = 0
  //我把返会的每一条数据 封装成了json ,把每一个json放到了list里面
  //select里的参数位为mysql的字段,这里不可以写别名
  val arrayList =       frame.select("id","name","age","phtone","address").toJSON.collect()
posted @ 2021-08-20 18:32  白龙~  阅读(563)  评论(0)    收藏  举报