1. 程式人生 > 其它 >spark 讀取mysql資料

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()