我在我的代码中将TableInputFormat
导入为:
import org.apache.hadoop.hbase.mapreduce.TableInputFormat
但显示错误:
对象TableInputFormat不是org.apache.hadoop.hbase.mapreduce包的成员
但软件包org.apache.hadoop.hbase.mapreduce
确实具有类TableInputFormat
(http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/mapreduce/TableInputFormat.html)
并且我添加了libraryDependencies,包括: “ org.apache.spark”%“ spark-core_2.11”%“ 2.4.0”“ org.apache.hbase”%“ hbase-server”%“ 2.1.1”“ org.apache.hbase”%“ hbase -common“%” 2.1.1“” org.apache.hbase“%” hbase-hadoop-compat“%” 2.1.1“” org.apache.hadoop“%” hadoop-common“%” 2.8.5“ < / p>
TableInputFormat位于org.apache.hadoop.hbase.mapreduce
中
软件包,它是hbase-server artifact
的一部分,因此需要将其添加为依赖项。但是我添加了这种依赖关系,为什么它会运行错误?
答案 0 :(得分:0)
我也遇到同样的问题,但是在pom.xml中添加了“ hbase-mapreduce ”之后,它运行良好。这是我的pom.xml:
<!-- start of HBase-->
<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>${hbase.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</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-common</artifactId>
<version>${hbase.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-mapreduce -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-mapreduce</artifactId>
<version>${hbase.version}</version>
</dependency>
<!-- end of hbase -->