TableInputFormat不是软件包org.apache.hadoop.hbase.mapreduce

时间:2018-12-02 09:34:18

标签: hadoop hbase

我在我的代码中将TableInputFormat导入为:

import org.apache.hadoop.hbase.mapreduce.TableInputFormat

但显示错误:

对象TableInputFormat不是org.apache.hadoop.hbase.mapreduce包的成员

但软件包org.apache.hadoop.hbase.mapreduce确实具有类TableInputFormathttp://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的一部分,因此需要将其添加为依赖项。但是我添加了这种依赖关系,为什么它会运行错误?

1 个答案:

答案 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 -->