spark / hive中的驱动程序类路径

时间:2017-12-05 08:58:15

标签: java scala apache-spark hive

我正在使用Spark 2.2.0处理应用程序并尝试使用maven-assembly-plugin/maven-shade-plugin/maven-jar-plugin准备其分发。我按照以下方式开始我的火花环境:

SparkSession.builder
          .enableHiveSupport()
          .getOrCreate()

我试过案件:

予。 胖罐。 构建胖jar并将所有依赖项,应用程序类和配置放在那里。然后,我按如下方式运行此应用程序:/usr/bin/spark-submit --class some.pack.age.Main --master yarn --deploy-mode client --executor-memory 4G --num-executors 1 /path/to/the/fat/jar/fat.jar。它的工作原理非常好。

II。 准备发布。 我准备了以下发行版:

 |-- conf
 |   |-- log4j
 |   |   `-- log4j.properties
 |   `-- main.conf
 `-- lib
     |-- all-dependecies.jar
     `-- app.jar

然后我尝试运行它

/usr/bin/spark-submit --driver-class-path /som/path/conf --class some.pack.age.Main --master yarn --deploy-mode client --executor-memory 4G --num-executors 1 --jars __paths_to_the_two_jars__ 然后我得到以下例外:

Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFoundException: 
The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. 
Please check your CLASSPATH specification, and the name of the driver.
        at org.datanucleus.store.rdbms.connectionpool.AbstractConnectionPoolFactory.loadDriver(AbstractConnectionPoolFactory.java:58)
        at org.datanucleus.store.rdbms.connectionpool.BoneCPConnectionPoolFactory.createConnectionPool(BoneCPConnectionPoolFactory.java:54)
        at org.datanucleus.store.rdbms.ConnectionFactoryImpl.generateDataSources(ConnectionFactoryImpl.java:238)
        ... 109 more

为什么在第一种情况下驱动程序在classpath中,但在第二种情况下不是?

0 个答案:

没有答案