org/apache/hadoop/hbase/CompatibilityFactory(scan)没有找到类的解决办法

本文解决了Spark连接HBase时遇到的各种找不到类的问题,通过调整依赖版本和添加必要的HBase库来确保正确加载所需的组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做spark连接Hbase的时候,总会蹦出一些问题。总结起来就是各种类的找不到。


如:org/apache/hadoop/hbase/CompatibilityFactory没有找到类,

  


E      xception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/client/Scan

如此等等。


这些问题的核心还是没有正确加载Hbase所需要的库。


而Hbase中的一些库存在的会与spark中有一些版本区别,因此可以通过测试来进行添加。


正常需要引用的包如下:

<dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.4.1</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-common</artifactId>
            <version>1.1.2</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>1.1.2</version>
        </dependency>
    </dependencies>

除此之外,会需要hbase-hadoop-compact.jar等几个库,把这些库加载后,就不会出现这样的错误


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值