将jar添加到spark-submit中以在Hive中使用它

时间:2018-08-02 12:35:33

标签: scala apache-spark hive spark-submit

我正在尝试在我的Spark代码中执行Hive查询,但是我需要使用一个jar库来对Hive执行此查询,因为我已经使用此jar创建了表,因此要查询该表,我必须将其导入。我的Spark代码:

val hiveContext=...
hiveContext.sql("ADD JAR hive-jdbc-handler-2.3.4.jar")
hiveContext.sql("SELECT * FROM TABLE")

以下一个问题之后:How to add jar using HiveContext in the spark job 我已经在spark-submit中添加了参数:

--jar "LOCAL PATH to hive-jdbc-handler-2.3.4.jar"

在我的应用程序日志中,我收到以下消息:

18/08/02 14:10:41,271 | INFO | 180802140805 | SessionState         | Added   [hive-jdbc-handler-2.3.4.jar] to class path
18/08/02 14:10:41,271 | INFO | 180802140805 | SessionState         | Added resources: [hive-jdbc-handler-2.3.4.jar]
18/08/02 14:10:42,179 | ERROR | 180802140805 | org.apache.hive.storage.jdbc.dao.GenericJdbcDatabaseAccessor | Error while trying to get column names.
org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'

注意,我要在集群中执行我的应用程序。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我试图添加一个jar以便在Spark中使用它的方式是正确的(在集群模式下无需使用方法“ addFile”)。我得到的错误是由于我使用的jar已损坏;我将罐子换成新罐子,就可以了。