Spark-SQL连接MySql关系型数据库
2015-09-23 11:58
726 查看
本文主要分析Spark SQL官方文档中有关于JDBC To Other Databases部分,以MySQL数据库为例,结合数据读写操作的实例代码进行详细的分析。本文中的代码需要使用到Mysql
JDBC连接jar包。
在debug过程中,上面的程序直到最后一行才开始真正的在mysql中执行sql查询。此时在Mysql中可以看到当前正在运行的sql语句。
上面代码运行的最终结果如下:
JDBC连接jar包。
一、从mysql读取数据
1、单表查询
完整程序如下:package com.ckm.spark.sql import java.util.Properties import org.apache.spark.sql.SQLContext import org.apache.spark.{SparkContext, SparkConf} /** * Created by ckm on 2016/9/26. */ object SelectFromOneTable { def main(args: Array[String]) { val sparkConf = new SparkConf().setAppName("Spark SQL Test Case").setMaster("local[2]") val sparkContext = new SparkContext(sparkConf) val sqlContext = new SQLContext(sparkContext) val properties = new Properties() val url = "jdbc:mysql://m000:3306/test" val jdbcDF = sqlContext.read.format("jdbc").options( Map("url" -> url, "user" -> "root", "password" -> "root", "dbtable" -> "spark_sql_test1")).load() jdbcDF.registerTempTable("test1") sqlContext.sql("select * from test1 where id > 10").collect().take(10).foreach(println) } }
在debug过程中,上面的程序直到最后一行才开始真正的在mysql中执行sql查询。此时在Mysql中可以看到当前正在运行的sql语句。
上面代码运行的最终结果如下:
2、多表join查询
相关文章推荐
- Spark-SQL连接MySql关系型数据库
- MYSQL基础_聚合函数_分组和多表连接查询
- mysql并行复制功能
- MYSQL 数据类型
- mysql获取某个表的所有字段名
- mysql中enum的用法
- mysql 学习碎片
- sql执行效率检测 mysql explain
- mysql 存在update不存在insert
- spark安装mysql与hive
- MySQL多实例安装初探
- Mysql grant权限详解
- mysql集群一:主从复制,通过mysql-proxy做负载均衡
- Mac 10.10 以上启动MySQL
- mysql的1067错误 Unknown/unsupported storage engine: InnoDB
- mysql 查看配置文件
- mysql中主外键关系
- mysql 交互式连接和非交互式连接
- mysql wait_timeout和interactive_timeout总结
- mysql 超时设置