spark 讀取mysql資料
阿新 • • 發佈:2021-08-20
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()