`
kanpiaoxue
  • 浏览: 1789349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

HBaseUtils(HbaseTemplate)工具类

 
阅读更多

 

 

 

import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Result;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.hadoop.hbase.HbaseTemplate;

import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;

/**
 * hbase工具类
 *
 * @ClassName: HBaseUtils
 * @author kanpiaoxue
 * @version 1.0
 * @CreateTime: 2020/11/24 16:18:55
 * @Description:
 */
public class HBaseUtils {
    private static final Logger LOGGER = LoggerFactory.getLogger(HBaseUtils.class);

    public static byte[] getValue(HbaseTemplate hbaseTemplate, String tableName, byte[] columnFamily,
            byte[] column, String rowKey) {
        byte[] rs = hbaseTemplate.get(tableName, rowKey, (Result result, int rowNum) -> {
            byte[] value = result.getValue(columnFamily, column);
            if (Objects.isNull(value)) {
                return null;
            }
            return value;
        });
        return rs;
    }

    public static boolean isExistColumnFamily(Admin admin, TableName tableName, String cf)
            throws IOException {
        HTableDescriptor tableDescriptor = admin.getTableDescriptor(tableName);
        HColumnDescriptor[] descriptors = tableDescriptor.getColumnFamilies();
        return Arrays.stream(descriptors).filter(descriptor -> {
            String name = descriptor.getNameAsString();
            LOGGER.info("tableName:{},columnFamily name:{},cf:{}", tableName, name, cf);
            return name.equals(cf);
        }).findFirst().isPresent();
    }

    public static boolean isExistTable(Admin admin, TableName tableName) throws IOException {
        return admin.tableExists(tableName);
    }

    public static void write(HbaseTemplate hbaseTemplate, String tableName, String columnFamily,
            String column, String rowKey, byte[] value) {
        hbaseTemplate.put(tableName, rowKey, columnFamily, column, value);
    }

    /**
     *
     */
    private HBaseUtils() {
        super();
    }
}

 

 

分享到:
评论

相关推荐

    mongoTemplate工具类Dao层方法封装.zip

    这个资源包“mongoTemplate工具类Dao层方法封装.zip”显然提供了两种版本的MongoTemplate操作集合的代码示例,旨在帮助开发者更高效地进行数据访问层(Dao层)的开发。以下是关于MongoTemplate及它在 Dao 层中使用的...

    hbase- java开发连接工具类

    在这个“hbase-java开发连接工具类”中,包含了一个1.2.1版本的`hbase-client.jar`,这是与HBase通信的核心库。 `hbase-client.jar`包含了以下关键组件和功能: 1. **HBase客户端API**:Java开发者可以通过这个API...

    hbase监控工具hbtop CDH6.3.2版本

    hbase监控工具hbtop CDH6.3.2版本,用于监控表、namespace的访问情况,可快速定位问题

    Android快速开发系列 10个常用工具类 程序源码

    在Android应用开发中,工具类(Utils)是程序员经常使用的辅助模块,它们包含了一系列静态方法,用于处理各种常见的任务,从而提高代码的复用性和可维护性。本资源"Android快速开发系列 10个常用工具类 程序源码...

    java开发,30个常用工具类总结,全部来自项目实践中用到的工具类

    在Java开发中,工具类是程序员经常会用到的代码模块,它们封装了各种常见的操作,提高了代码的可重用性和可维护性。以下是对标题和描述中提到的几个常用工具类的详细说明: 1. **DateUtils**: `java.util.Date` 和 ...

    hbase客户端连接工具winutils-2.2.0.zip

    在Java客户端上连接HBase集群时,需要配置一系列的环境和依赖,其中包括了`winutils`工具。`winutils-2.2.0.zip`这个压缩包就是针对Windows用户提供的,用于配置Hadoop环境,以便于与HBase交互。 首先,`winutils....

    MongoUtils工具类实现

    mongoTemplate.remove(query, obj .getClass(), collectionName); } public boolean update(Query query , Update update , Object obj , String collectionName){ UpdateResult result = mongoTemplate....

    java常用工具类打包下载

    J2EE常用工具类汇总 J2EE常用工具类—Value Object工具类 J2EE常用工具类—Json工具 J2EE常用工具类—Jdbc操作 J2EE常用工具类—Hibernate操作 J2EE常用工具类—Cookie操作 J2EE常用工具类—数组操作 J2EE...

    OkHttp请求完美封装(并带工具类)

    MD5、RSA、Base64Utils、DialogUtil、ZXingUtils、GlideUtil、、、工具类 自己总结了一些必备的工具类,可直接放入工程,简单调用 对OkHttp进行了封装,简单调用,便于操作 进行了post、get、文件上传等进行封装

    Xml和Json互转工具类

    本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。

    java中ping命令ping工具类(循环ping)

    java中ping命令ping工具类(循环ping) java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 ...

    bos万能工具类

    这是bos开发使用的工具类,大概一千多行代码,包括获取当前组织,用户,自定义编码规则等等等等实用的方法,这是一朋友给我的,我在做金蝶开发的时候,帮了我很多很多!感兴趣的可以下来看看,每个方法都有注释

    java实现sftp操作工具类

    版权声明:本工具类为个人兴趣基于chnSftp编写的应用,个人版权在先,后因各个办公环境无相关软件也有相关的个人使用,和办公环境内的推广使用,也欢迎互联网使用,如涉及相关环境认为本应用有不妥之处,请删除本人...

    java二维码工具类,中间带LOGO的,很强大

    Java二维码工具类是一种用于生成和解析二维码的编程资源,它扩展了二维码的使用,使其能够包含自定义图像,如LOGO。在这个特定的案例中,我们有一个强大的工具类,能够将LOGO集成到二维码的中心,增加了二维码的视觉...

    sm2-sm4国密算法工具包及工具类

    SM2、SM3、SM4加密算法工具类即所用到的jar包,使用时先按照文件建立对应包

    Java生成兑换码工具类(英文26个字母加数字随机生成)

    生成指定位数的兑换码,(数字、大写字母随机混排)+(数字、小写字母随机混排)+(小写字母与数字混排),三种方式生成兑换码!

    Hadoop+HBase+Java API

    总的来说,Hadoop、HBase和Java API的结合使用为大数据处理和存储提供了强大的工具,它们可以帮助开发者处理PB级别的数据,并支持实时查询。熟练掌握这些技术,对于任何想要在大数据领域深入发展的IT专业人员都是至...

    java、android、web三端通用的RSA和AES工具类、js

    本文将详细介绍Java、Android和Web三端通用的RSA和AES工具类的使用,以及相关的JavaScript实现。RSA是一种非对称加密算法,而AES则是一种对称加密算法,它们在保护敏感信息方面发挥着关键作用。 首先,RSA(Rivest-...

    HbaseExplorer可视化工具

    HBaseExplorer是一款基于Java开发的HBase数据管理与可视化工具,它为HBase数据库的管理和查询提供了用户友好的界面。通过修改配置文件,我们可以将HBaseExplorer与自己的HBase集群无缝对接,实现对HBase数据的有效...

    NFC读取工具类加界面demo

    在这个“NFC读取工具类加界面demo”项目中,开发者针对飞利浦S50芯片、复旦卡以及M1智能卡(这些卡片都是基于ISO/IEC 14443标准的非接触式智能卡)提供了读写功能,并集成了一款简易的用户界面,使得用户可以方便地...

Global site tag (gtag.js) - Google Analytics