spark mysql 驱动_spark读取mysql数据库的驱动问题
連接關(guān)系型數(shù)據(jù)庫(kù)轉(zhuǎn)換為DF對(duì)象。
上傳mysql-connector-java-5.1.28-bin.jar包
啟動(dòng)參數(shù)方式:
bin/spark-shell--master=local[4] --driver-class-path=mysql-connector-java-5.1.28-bin.jar注意:此時(shí)jar包放置在的位置可以自定義 ?但是在單機(jī)啟動(dòng)的時(shí)候 需要在jar包所在位置啟動(dòng)spark-shell
1)mysql服務(wù)器要能遠(yuǎn)程連接
2) mysql要授權(quán)遠(yuǎn)程訪問權(quán)限
mysql–uroot –proot
mysql>grantall privileges on *.* to 'root'@'ip' identified by 'root'
mysql>flushprivileges;
執(zhí)行代碼
valprop = new java.util.Properties
prop.put("user","root")
prop.put("password","root")
valdf=sqlContext.read.jdbc("jdbc:mysql://ip:3306/jtdb","tb_user",prop)
df: org.apache.spark.sql.DataFrame = [id: bigint,username: string, password: string, phone: string, email: string, created:timestamp, updated: timestamp]
用在當(dāng)關(guān)系型數(shù)據(jù)庫(kù)需要groupby等,由于數(shù)據(jù)量太大它做不了或者太慢。就可以交給spark來完成。
還有一種是在集群開啟的時(shí)候 ?需要防止一個(gè)位置 然后在spark-env.sh中配置SPARK_CLASSPATH =(填寫jar包的絕對(duì)路徑) ?需要注意的是 在子節(jié)點(diǎn)中也要放置jar包 也需要配置SPARK_CLASSPATH ? 配置成功之后 重啟spark
配置文件方式:
SPARK_LOCAL_IP=192.168.1.106
SPARK_CLASSPATH=mysql-connector-java-5.1.28-bin.jar
bin/spark-shell --master=local[4]
val jdbcdf =sqlContext.load("jdbc",Map("url"->"jdbc:mysql://192.168.1.101:3306/jtdb?user=root&password=root","dbtable"->"tb_user"))
jdbcdf.show
總結(jié)
以上是生活随笔為你收集整理的spark mysql 驱动_spark读取mysql数据库的驱动问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《秋池二首》第十九句是什么
- 下一篇: java 常用方法_Java常用方法总结