scala - 将 jar 添加到 spark-submit 以在 Hive 中使用它
问题描述
我正在尝试在我的 Spark 代码中执行 Hive 查询,但我需要使用 jar 库来使用 Hive 执行此查询,因为我已经使用此 jar 创建了表,因此要查询表我必须导入它。我的火花代码:
val hiveContext=...
hiveContext.sql("ADD JAR hive-jdbc-handler-2.3.4.jar")
hiveContext.sql("SELECT * FROM TABLE")
按照上一个问题:如何在 我添加到我的 spark-submit 参数的 spark 作业中使用 HiveContext 添加 jar:
--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'
请注意,我想在集群中执行我的应用程序。我能做什么?
解决方案
我尝试添加 jar 以在 Spark 中使用它的方式是正确的(在集群模式下无需使用方法“addFile”)。我得到的错误是由于我使用的 jar 已损坏;我把我的罐子换了一个新的,它起作用了。
推荐阅读
- hibernate - Grails 3:SessionFactory Bean没有注入服务
- javascript - 播放时更改 youtube 视频的音量
- windows-7 - 在不注销的情况下重置 Windows 7 显示
- python - 我的简单计算器有什么问题,它不会出错,也不会执行
- android - 当我在数据库中保存此图像的 URI 时,如何在 SQLite 数据库的 imageview 中显示图像?
- django - 为 Django 休息框架视图集操作生成模式
- javascript - 使用 javascript 将图像转换为字节数组
- java-7 - 尝试通过从一个方法读取相同的文本文件到java中的不同方法来优化代码并提高性能
- docker - 具有内部存储库的 GC Cloud Build 自定义构建过程
- python - HTTP 状态码的多线程脚本