spark 连接mysql

来源:互联网 发布:阿里云如何备份数据库 编辑:程序博客网 时间:2024/05/20 14:17
最近在做关于spark的学习,其中有一项是关于spark和mysql的连接操作,    我是在spark-shell上操作的,首先打开spark-shell的方式需要注意指定mysql jar包的位置./bin/spark-shell --jars ./lib/mysql-connector-java-5.1.35.jarimport 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/

0 0