我们正在使用Spark 2.3.0创建基于Spark的应用程序。 我们的Spark作业与HBase交互。 创建JAR时,我们遵循以下编译时异常例外: 找不到org.apache.spark.Logging的[错误]类文件 此异常发生在代码中,即从HBase表读取数据。
我们可以使用以下jar的配置/版本将数据成功写入HBase表中。
我们在pom.xml中使用以下配置
<property>
<org.apache.spark.version>2.3.0</org.apache.spark.version>
<scala.version>2.11</scala.version>
<hbase.version>1.0.0-cdh5.4.0</hbase.version>
</property>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scala.version}</artifactId>
<version>${org.apache.spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_${scala.version}</artifactId>
<version>${org.apache.spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-spark</artifactId>
<version>1.2.0-cdh5.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>${hbase.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-common</artifactId>
<version>${hbase.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-server</artifactId>
<version>${hbase.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-protocol</artifactId>
<version>${hbase.version}</version>
</dependency>
<dependency>
<groupId>org.apache.htrace</groupId>
<artifactId>htrace-core</artifactId>
<version>3.1.0-incubating</version>
</dependency>
我们在stackoverflow上发现了多种解决方案,都提到使用Spark 1.6。 java.lang.NoClassDefFoundError: org/apache/spark/Logging
这对我们来说是不可能的。
还有其他解决方法可以解决此问题吗?
谢谢
答案 0 :(得分:0)
我在这里回复了一个较旧的问题。 由于我们无法回滚到Spark版本1.6(我们正在使用Spark 2.3),因此我们发现了使用HBaseContext.bulkGet的方法。
我们正在做以下事情:
id