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()
原文:https://www.cnblogs.com/white7/p/15167707.html