准备工作
我们准备使用sparksql
数据库,然后使用TBLS
表,这个TBLS保存了表的元数据信息。
操作Mysql数据表TBL
val jdbcDF = spark.read
.format("jdbc")
.option("url", "jdbc:mysql://swarm-manager:3306/sparksql")
.option("driver", "com.mysql.jdbc.Driver")
.option("dbtable", "sparksql.TBLS")
.option("user", "root")
.option("password", "123456")
.load()
接下来就可以进行数据相关操作了:
之前使用大数据平台的其他数据源时,需要先使用sqoop来导入数据平台中,然后在计算。现在spark有了外部数据源之后,可以直接进行操作了。
第二种操作mysql的方式
import java.util.Properties
val connectionProperties = new Properties();
connectionProperties.put("user", "root");
connectionProperties.put("password", "123456");
connectionProperties.put("driver", "com.mysql.jdbc.Driver");
val jdbcDF2 = spark.read
.jdbc("jdbc:mysql://swarm-manager:3306/sparksql", "sparksql.TBLS", connectionProperties);
使用Spark SQL操作mysql
CREATE TEMPORARY VIEW jdbcTable
USING org.apache.spark.sql.jdbc
OPTIONS (
url "jdbc:mysql://swarm-manager:3306/sparksql",
dbtable "sparksql.TBLS",
user 'root',
password '123456',
driver 'com.mysql.jdbc.Driver'
);
show tables;
select * from jdbcTable;