java - Spark3 Streaming 中的 Phoenix Driver ClassNotFound
问题描述
我正在将现有的 spark 流应用程序从 spark2.3 迁移到 spark3.1.1。我已经更新了下面提到的 spark 依赖项
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.12</artifactId>
<version>3.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>3.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql-kafka-0-10_2.12</artifactId>
<version>3.1.1</version>
</dependency>
并添加了凤凰依赖
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>4.13.2-cdh5.11.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-spark</artifactId>
<version>4.13.2-cdh5.11.2</version>
<scope>provided</scope>
</dependency>
在运行火花作业时,我得到了java.lang.ClassNotFoundException: org.apache.phoenix.jdbc.PhoenixDriver
。以前使用 spark2.3 运行相同的代码,但现在不使用 spark3.1.1。
java.lang.ClassNotFoundException: org.apache.phoenix.jdbc.PhoenixDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
有人可以帮我知道我在这里想念什么吗?
解决方案
推荐阅读
- python - Google Colab 中的 Glob 函数没有提供任何输出
- python-3.x - 获取 psycopg.ProgrammingError:传递数据库参数时无效的连接选项“数据库”
- html - 使用 Font Awesome SVG 创建一个简单的 Angular 元素来减少冗余?
- python - 初学者 - While 循环问题
- c++ - 当我在OpenGL中调整窗口大小时,有没有办法防止我的窗口内容“移动”
- ajax - Boostrap JS bundle 和 AJAX 之间可能存在冲突吗?
- javascript - 是否可以在数据库中保存频道权限?
- powerbi - 处理空日期 - Power BI
- r - 如何为多个 n 多次运行 R 代码
- powershell - Get-ChildItem 未检测到现有驱动器