`
kanpiaoxue
  • 浏览: 1777384 次
  • 性别: 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();
    }
}

 

 

分享到:
评论

相关推荐

    hbase- java开发连接工具类

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

    hbase用于查询客户端工具

    在HBase环境中,有多种客户端工具可供开发人员和管理员使用来进行查询和其他操作。以下是一些主要的HBase查询客户端工具及其详细说明: 1. **HBase Shell**:这是HBase自带的一个命令行接口,用户可以通过Java REPL...

    hbase监控工具hbtop CDH6.3.2版本

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

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

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

    Java生成订单号的工具类

    该工具类是Java编写下载即可使用,该工具类中有生成各种长度的订单号,有英文数字混合的,有数字的

    C#常用工具类代码集合Util第二版本(自己工作总结)

    C#常用工具类代码集合Util第二版本(自己工作总结),包括常用工具类,扩展方法工具类,百度地图C#工具类,Echart工具类,Office工具类,Autofac工具类,Web开发常用工具类,Winform开发常用工具类,是自己工作十年...

    支持最新版本HBase的图形化管理工具/Hbase的GUI工具

    综上所述,支持最新版本HBase的图形化管理工具是大数据运维中的重要辅助工具,它通过图形界面简化了HBase的操作,增强了用户体验,并且随着HBase的发展持续更新,以保证最佳的兼容性和功能性。对于需要管理和维护...

    Hbase 可视化客户端工具(非phoenix连接)

    本文将详细介绍一个专为HBase设计的可视化客户端工具,该工具不依赖于Phoenix连接,而是直接与HBase服务器通信,支持Hbase 1.x版本,提供类似于PL/SQL的友好界面,使得数据管理和查询变得更加便捷。 首先,这个可视...

    HTTP请求客户端工具类RestTemplateUtil.java

    org.springframework.web.client.AsyncRestTemplate org.springframework.web.client.RestTemplate HTTP请求工具类,基于以上两个Rest请求工具模板完成封装HTTP请求,包括同步和异步请求的实现。

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

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

    精心整理的java常用的26个工具类

    精心整理的26个java常用工具类,如:FastJsonUtil,StringHelper,RandomHelper,FileHelper,HttpClientHelper等等,直接使用maven导入到eclipse中使用即可。

    医保局加解密方法工具类及调用demo(医保电子处方中心)V1.0

    成都市医保局加解密方法工具类及调用demo(医保电子处方中心)V1.0

    httpclient4.3 封装工具类

    封装工具类通常会提供方便的方法来发起这两种请求,比如`sendGetRequest(String url, Map, String> params)`和`sendPostRequest(String url, Map, String> params)`。这些方法会处理URL编码、参数拼接、Header设置等...

    Xml和Json互转工具类

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

    MD5加密+签名算法Sign生成 工具类

    为了更好地理解和使用这个工具类,你需要了解基本的MD5和签名算法原理,并熟悉如何在代码中调用这些工具类的方法。同时,注意MD5虽然快速但已不再被视为安全的哈希算法,因为它容易产生碰撞,不适合用于存储敏感信息...

    MapReduce导出hbase数据工具BillFeeImport.jar

    hbase导入hbase导入

    ActiveMQ连接池完整封装实例工具类

    本文将详细介绍如何实现一个ActiveMQ连接池的完整封装实例工具类,并探讨其背后的设计思想。 首先,我们需要了解JMS(Java Message Service)接口,它是Java平台中用于创建、发送、接收和读取消息的标准API。...

    高并发订单号生成工具类

    高并发订单号生成工具类,TWITTER编码方式可BAIDU

    Gson工具类 JsonUtil

    Google json工具类,将java对象装换为json,支持泛型和任意类型

    Hbase1.x可视化客户端工具

    在HBase 1.x版本中,常用的可视化客户端工具有Apache Ambari的HBase组件、HBase Shell增强版如Beeswax或HBase Console、以及第三方工具如HBAdmin、HBase Manager等。这些工具通常会提供详细的使用说明,帮助用户快速...

Global site tag (gtag.js) - Google Analytics