Spark学习之17:Spark访问MySQL

本文描述使用Spark1.4,在spark-shell环境中访问mysql的用法。

1. 准备MySQL的JDBC驱动

将mysql对应版本的驱动上传到启动spark-shell的服务器。这里,将mysql驱动放在$SPARK_HOME的ext目录(自己新建的)。测试连接的是MySQL 5.6.19,驱动程序为mysql-connector-java-5.1.31.jar。

2. 启动spark-shell

在$SPARK_HOME目录,执行:
bin/spark-shell --jars ext/mysql-connector-java-5.1.31.jar
启动spark-shell。通过--jars参数指定驱动。

3. 在命令行中写入代码

import org.apache.spark.sql.SQLContext
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._
val url = "jdbc:mysql://192.168.245.1:8866/mind"
val table = "orders"
val reader = sqlContext.read.format("jdbc")
reader.option("url", url)
reader.option("dbtable", table)
reader.option("driver", "com.mysql.jdbc.Driver")
reader.option("user", "mind")
reader.option("password", "123456")
val df = reader.load()
df.show()
sqlContext.read方法返回一个DataFrameReader对象。
重要是要设置好DataFrameReader对象的属性,通过它的option方法,当然也可将属性以Map对象的方式一次性设置(options方法)。
其中:
(1)url设置数据库路径;
(2)dbtable属性表示要查询的表,它也可以是一个用括号括起来的子查询(具体可以参考官方文档);
(3)driver属性设置驱动程序名称;
(4)user设置数据库用户名;
(5)password设置用户密码。
这五个属性是必须设置的。
reader.load方法即将返回一个DataFrame对象,在该例子中,它将返回整个orders表的数据。
show用于显示DataFrame中的数据。
该例中显示结果:


通过 DataFrameReader的jdbc方法也可以,尚未试验成功。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值