一、概述
Spark处理关系型数据库时需要加载关系型数据库的驱动,不然会报找不到驱动包的错误。一般根据Spark的使用不是不同有以下几种加载驱动包的方法。
二、加载驱动包的方法
1、使用--jars的命令
./spark-submit --classs com.rdc.bdata.compute.jdbc.TaskCommondRunner --master local[2] --jars externaljars/mysql-connector-java-5.1.27-bin.jar /home/demo/bdata-compute-jdbc.jar
2、--jars命令加载驱动包失败,可以使用--driver-class-path的方法
./spark-submit --classs com.rdc.bdata.compute.jdbc.TaskCommondRunner --master local[2] --driver-class-path externaljars/mysql-connector-java-5.1.27-bin.jar /home/demo/bdata-compute-jdbc.jar
3、使用spark.executor.extraClassPath和spark.driver.extraClassPath方式
./bin/spark-submit --master spark://CentOS:7077 --deploy-mode client --class com.rdc.bdata.compute.jdbc.TaskCommondRunner --total-executor-cores 4 --packages 'org.apache.spark:spark-streaming-kafka-0-10_2.11:2.4.3,redis.clients:jedis:2.9.0' --conf spark.executor.extraClassPath=/externaljars/mysql-connector-java-5.1.27-bin.jar --conf spark.driver.extraClassPath=/externaljars/mysql-connector-java-5.1.27-bin.jar
如果嫌写入命令比较麻烦的话,可以配置spark-default-conf文件
加入:
spark.executor.extraClassPath=/externaljars/*
spark.driver.extraClassPath=/externaljars/*