sparkSQL读写数据到MySQL
前言
spark sql可以通过 JDBC 从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中
流程图
sparkSQL加载MySQL表中的数据
import java.util.Properties
import org.apache.spark.SparkConf
import org.apache.spark.sql.{
DataFrame, SparkSession}
object dataFromMySQL {
def main(args: Array[String]): Unit = {
val conf: SparkConf = new SparkConf().setAppName("dataFromMySQL").setMaster("local[2]")
val session: SparkSession = SparkSession.builder().config(conf).getOrCreate()
//mysql config
// 指定mysql连接地址
val url="jdbc:mysql://node03:3306/spark"
// 指定要加载的表名
val tableName="sqlTest"
// 配置连接数据库的相关属性
val properties = new Properties()
//用户名
properties.setProperty("user","root")
properties.setProperty("password","111111")
val mysqlDF: DataFrame = session.read.jdbc(url,tableName,properties)
mysqlDF.printSchema()
mysqlDF.show()
mysqlDF.createOrReplaceTempView("user")
session.sql("select * from user where age > 10"