spark是一套数据处理框架,数据分为静态数据和实时数据(sparkStreaming)
因为spark本身是一个数据处理的框架,本身不负责生产数据和存储数据。
所以需要一些数据源的接入。本文主要说的是把关系型数据库mysql作为数据源。
测试环境是在本地的mysql数据,需要本地已经安装了mysql数据库,并且根据本地mysql的版本,下载相应的驱动。
import org.apache.spark.sql.SparkSession object SparkJDBC { def main(args: Array[String]): Unit = { val sparkSession = SparkSession.builder() .appName("TextFile") .master("local") .getOrCreate() /** * 成功连接mysql数据库 */ val jdbcDF = sparkSession.read.format("jdbc") .option("url", "jdbc:mysql://localhost:3306/spark?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT") .option("driver","com.mysql.cj.jdbc.Driver") .option("dbtable", "student") .option("user", "root") .option("password", "123456").load() jdbcDF.show() } }
本地mysql数据库的驱动pom.xml 文件如下
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency>