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层)的开发。以下是关于MongoTemplate及它在 Dao 层中使用的...
在这个“hbase-java开发连接工具类”中,包含了一个1.2.1版本的`hbase-client.jar`,这是与HBase通信的核心库。 `hbase-client.jar`包含了以下关键组件和功能: 1. **HBase客户端API**:Java开发者可以通过这个API...
hbase监控工具hbtop CDH6.3.2版本,用于监控表、namespace的访问情况,可快速定位问题
在Android应用开发中,工具类(Utils)是程序员经常使用的辅助模块,它们包含了一系列静态方法,用于处理各种常见的任务,从而提高代码的复用性和可维护性。本资源"Android快速开发系列 10个常用工具类 程序源码...
在Java开发中,工具类是程序员经常会用到的代码模块,它们封装了各种常见的操作,提高了代码的可重用性和可维护性。以下是对标题和描述中提到的几个常用工具类的详细说明: 1. **DateUtils**: `java.util.Date` 和 ...
在Java客户端上连接HBase集群时,需要配置一系列的环境和依赖,其中包括了`winutils`工具。`winutils-2.2.0.zip`这个压缩包就是针对Windows用户提供的,用于配置Hadoop环境,以便于与HBase交互。 首先,`winutils....
mongoTemplate.remove(query, obj .getClass(), collectionName); } public boolean update(Query query , Update update , Object obj , String collectionName){ UpdateResult result = mongoTemplate....
J2EE常用工具类汇总 J2EE常用工具类—Value Object工具类 J2EE常用工具类—Json工具 J2EE常用工具类—Jdbc操作 J2EE常用工具类—Hibernate操作 J2EE常用工具类—Cookie操作 J2EE常用工具类—数组操作 J2EE...
MD5、RSA、Base64Utils、DialogUtil、ZXingUtils、GlideUtil、、、工具类 自己总结了一些必备的工具类,可直接放入工程,简单调用 对OkHttp进行了封装,简单调用,便于操作 进行了post、get、文件上传等进行封装
本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。
java中ping命令ping工具类(循环ping) java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 ...
这是bos开发使用的工具类,大概一千多行代码,包括获取当前组织,用户,自定义编码规则等等等等实用的方法,这是一朋友给我的,我在做金蝶开发的时候,帮了我很多很多!感兴趣的可以下来看看,每个方法都有注释
版权声明:本工具类为个人兴趣基于chnSftp编写的应用,个人版权在先,后因各个办公环境无相关软件也有相关的个人使用,和办公环境内的推广使用,也欢迎互联网使用,如涉及相关环境认为本应用有不妥之处,请删除本人...
Java二维码工具类是一种用于生成和解析二维码的编程资源,它扩展了二维码的使用,使其能够包含自定义图像,如LOGO。在这个特定的案例中,我们有一个强大的工具类,能够将LOGO集成到二维码的中心,增加了二维码的视觉...
SM2、SM3、SM4加密算法工具类即所用到的jar包,使用时先按照文件建立对应包
生成指定位数的兑换码,(数字、大写字母随机混排)+(数字、小写字母随机混排)+(小写字母与数字混排),三种方式生成兑换码!
总的来说,Hadoop、HBase和Java API的结合使用为大数据处理和存储提供了强大的工具,它们可以帮助开发者处理PB级别的数据,并支持实时查询。熟练掌握这些技术,对于任何想要在大数据领域深入发展的IT专业人员都是至...
本文将详细介绍Java、Android和Web三端通用的RSA和AES工具类的使用,以及相关的JavaScript实现。RSA是一种非对称加密算法,而AES则是一种对称加密算法,它们在保护敏感信息方面发挥着关键作用。 首先,RSA(Rivest-...
HBaseExplorer是一款基于Java开发的HBase数据管理与可视化工具,它为HBase数据库的管理和查询提供了用户友好的界面。通过修改配置文件,我们可以将HBaseExplorer与自己的HBase集群无缝对接,实现对HBase数据的有效...
在这个“NFC读取工具类加界面demo”项目中,开发者针对飞利浦S50芯片、复旦卡以及M1智能卡(这些卡片都是基于ISO/IEC 14443标准的非接触式智能卡)提供了读写功能,并集成了一款简易的用户界面,使得用户可以方便地...