spark 连接mysql

最近在做关于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/

阅读更多
文章标签: spark mysql
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭