关闭

spark 连接mysql

标签: sparkmysql
2837人阅读 评论(0) 收藏 举报
最近在做关于spark的学习,其中有一项是关于spark和mysql的连接操作,    我是在spark-shell上操作的,首先打开spark-shell的方式需要注意指定mysql jar包的位置
./bin/spark-shell --jars ./lib/mysql-connector-java-5.1.35.jar

import org.apache.spark.sql.SQLContext  
val sqlContext = new SQLContext(sc)  
import sqlContext.implicits._  
val url = "jdbc:mysql://10.15.90.244:3306/thd"  
val table = "class"  
val reader = sqlContext.read.format("jdbc") 
reader.option("url", url)  
reader.option("dbtable", table)  
reader.option("driver", "com.mysql.jdbc.Driver")  
reader.option("user", "root")  
reader.option("password", "***")  
val df = reader.load()  
df.show() 

通过上述方式可以得到一张表的显示,但是df直接操作譬如select *from talbename 怎么办呢,

后来看了另一个博客里面有另一种访问mysql方式,同样是在spark-shell下,

val dataframe_mysql = sqlContext.read.format(“jdbc”).option(“url”, “jdbc:mysql://10.12.218.250:3306/thd”).option(“driver”, “com.mysql.jdbc.Driver”).option(“dbtable”, “data”).option(“user”, “root”).option(“password”, “*“).load()

然后需要把dataframe_mysql注册一下,这里注册后的表名是names
dataframe_mysql.registerTempTable(“names”)

之后就可以对其进行操作了如
dataframe_mysql.sqlContext.sql(“select * from names”).collect.foreach(println)

来自链接https://www.supergloo.com/fieldnotes/spark-sql-mysql-example-jdbc/

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10067次
    • 积分:221
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条