記一次--------spark 讀 mysql 報錯no suitable driver


報錯日志如下:
 
意思是:沒有合適的驅動,
按道理來說,如果找不到Java的driver驅動應該會報錯為:class not found mysql.jdbc.driver 。 
但是不知道為啥報錯這個。
 
解決方法:在腳本中添加--driver-class-path 指定mysql-connection jar包。 即可!!!
腳本如下
 1 #!/bin/bash
 2  
 3 source ~/.bash_profile
 4  
 5 APP_HOME=/root/y
 6  
 7 echo $APP_HOME
 8  
 9 ################################# spark job ###########################################
10  
11 for f in $APP_HOME/lib/*.jar; do
12  
13 app_CLASSPATH=$f,${app_CLASSPATH}
14  
15 done
16  
17 len=${#app_CLASSPATH}-1
18  
19 JAR_PATH=${app_CLASSPATH:0:len}
20  
21 spark-submit --master yarn \
22 --deploy-mode client \
23 --num-executors 4 \
24 --executor-cores 1 \
25 --executor-memory 1g \
26 --class com.pateo.x37.EcoDriving \
27 --driver-memory 1g \
28 --jars $JAR_PATH \
29 --driver-class-path /root/y/lib/mysql-connector-java-5.1.6.jar \
30 $APP_HOME/DFclout.jar
31  
32  
33  
34 ###### 執行異常與否判斷
35  
36 rc=$?
37  
38 if [[ $rc != 0 ]]; then
39  
40 echo "`date "+%Y-%m-%d %H:%M:%S"` Spark job run failed......"
41  
42 exit 1
43  
44 else
45  
46 echo "`date "+%Y-%m-%d %H:%M:%S"` Spark job run successfully......."
47  
48 fi

 

 
 
后續,查看spark-submit —help
意思為: 要傳遞給驅動程序的額外類路徑項。注意,用——jars添加的jar會自動包含在類路徑中。
但是在我的腳本中是有--jars的配置的,不知道為什么沒有指定到mysql 的連接驅動
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM