Spark学习之17:Spark访问MySQL

来源:互联网 发布:怎么解除淘宝管控记录 编辑:程序博客网 时间:2024/05/08 11:16
本文描述使用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.SQLContextval 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 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 如果别人用电脑登了你的微信怎么办 消逝的光芒买错了买的普通版怎么办 在人人车卖了个车买家不过户怎么办 应用锁密码和密保问题都忘了怎么办 不小心在微信公众号发了消息怎么办 微信漂流瓶不能用了被投诉了怎么办 货物少了拉货的不承认少了怎么办 寄的快递号码留错了已经寄走怎么办 网购快递放在单位门卫室丢了怎么办 顺丰生鲜速配时效内食物坏了怎么办 竟尤理财跑路怎么办钱追的回来吗 博贝游戏用支付宝提不了现该怎么办 陌陌钱包没绑支付宝就体现了怎么办 鞋子让太阳晒的一只大一只小怎么办 美团不让上饿了么平台们商家怎么办 在汇通信诚租贷款买车被骗后怎么办 我的网银账户里的钱被盗了怎么办 老赖跑到国外去了还换了国籍怎么办 内裤把屁股两边磨得又肿又疼怎么办 京东在面临供货商不供货时怎么办的 打错的消息想撤回但按了删除怎么办 顺丰快递寄的黄皮和荔枝坏了怎么办 我发快递写错地址备签收不还怎么办 新买的床上四件套用着全身痒怎么办 华为畅玩6x锁屏密码忘了怎么办 我在淘宝上买了货不发货咋怎么办 在快递公司寄的东西丢了我该怎么办 不小心给了快递员子一个差评怎么办 不小心用发霉了的杯子喝了水怎么办 唐三复活了小舞失去的魂环怎么办了 我该怎么办?身陷动漫城输了很多钱 庄家开2球大小球踢成2球怎么办 去哪儿网订机票时邮箱写错了怎么办 在南航航班上把手机丢飞机上怎么办 买了品牌鞋穿了一周就破了怎么办 狗让狠狠的打了一顿不理人了怎么办 调好米粉宝宝吃的时候就凉了怎么办 情人间闹分手删了微信后悔了怎么办 8个月宝宝不坐椅子一直要抱怎么办 2个月婴儿3天没有拉大便了怎么办 8个月的宝宝不吃米糊和稀饭怎么办