spark mysql 驱动_spark读取mysql数据库的驱动问题
連接關系型數據庫轉換為DF對象。
上傳mysql-connector-java-5.1.28-bin.jar包
啟動參數方式:
bin/spark-shell--master=local[4] --driver-class-path=mysql-connector-java-5.1.28-bin.jar注意:此時jar包放置在的位置可以自定義 ?但是在單機啟動的時候 需要在jar包所在位置啟動spark-shell
1)mysql服務器要能遠程連接
2) mysql要授權遠程訪問權限
mysql–uroot –proot
mysql>grantall privileges on *.* to 'root'@'ip' identified by 'root'
mysql>flushprivileges;
執行代碼
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]
用在當關系型數據庫需要groupby等,由于數據量太大它做不了或者太慢。就可以交給spark來完成。
還有一種是在集群開啟的時候 ?需要防止一個位置 然后在spark-env.sh中配置SPARK_CLASSPATH =(填寫jar包的絕對路徑) ?需要注意的是 在子節點中也要放置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
總結
以上是生活随笔為你收集整理的spark mysql 驱动_spark读取mysql数据库的驱动问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《秋池二首》第十九句是什么
- 下一篇: 北京的JMS,去哪里买包包呀~?