HBase 清空表数据

简介: HBase 清空表数据

HBase 清空表数据

public int clearTableByTableName(String tableName) throws Exception {
        logger.debug("======InitHbaseServiceImpl clearTableByTableName=======");
       int count = 0;
        List rowsList = hbaseUtil.getRowsByStartAndEnd(tableName, null, null, HBaseConsts.FILTER_RECORD_COUNT);
        count += deleteData(tableName, rowsList, 0); //解决返回查找第一条为前一页最后一条数据
       while (rowsList.size() == HBaseConsts.FILTER_RECORD_COUNT) {
            String startKey = rowsList.get(rowsList.size() - 1).getRowKey();
            rowsList.clear();
           try {
                rowsList = hbaseUtil.getRowsByStartAndEnd(tableName, startKey, null, HBaseConsts.FILTER_RECORD_COUNT);
            } catch (Exception e) {
                logger.error("==========获取" + tableName + "数据异常==========");
            }
            count += deleteData(tableName, rowsList, 1);
           if (rowsList.size() < HBaseConsts.FILTER_RECORD_COUNT) {
               break;
            }
        }
       return count;
    }
   /**
     * 删除数据
     *
     * @param tableName
     * @param rowsList
     * @param startIdx
     * @throws Exception
    */
   private int deleteData(String tableName, List rowsList, int startIdx) throws Exception {
        logger.debug("=======deleteData rowsList:{}========", rowsList.size());
       int successCount = 0;
       for (int i = startIdx; i < rowsList.size(); i++) {
            HBaseRow baseRow = rowsList.get(i);
            String rowKey = baseRow.getRowKey();
           try {
                hbaseUtil.deleteRow(tableName, rowKey);
                successCount++;
            } catch (Exception e) {
                logger.error("=====清数据出现异常bug=====");
               throw new InvokeException(ResultEnum.FAILED.getCode(), "清数据出现异常bug");
            }
        }
        logger.debug("==========deleteData========本次删除成功数据:{}", successCount);
       return successCount;
    }
相关实践学习
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
SQL 存储 分布式数据库
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
107 0
|
3月前
|
分布式计算 分布式数据库 API
Spark与HBase的集成与数据访问
Spark与HBase的集成与数据访问
|
3月前
|
分布式数据库 Hbase
HBase的数据删除是如何进行的?
HBase的数据删除是如何进行的?
120 0
|
4月前
|
存储 分布式计算 分布式数据库
对给定的数据利用MapReduce编程实现数据的清洗和预处理,编程实现数据存储到HBase数据库,实现数据的增删改查操作接口
对给定的数据利用MapReduce编程实现数据的清洗和预处理,编程实现数据存储到HBase数据库,实现数据的增删改查操作接口
27 0
|
11月前
|
分布式计算 Hadoop 分布式数据库
《CDP企业数据云平台从入门到实践》——HBase 迁移到 CDP(1)
《CDP企业数据云平台从入门到实践》——HBase 迁移到 CDP(1)
143 0
|
11月前
|
Shell 分布式数据库 API
《CDP企业数据云平台从入门到实践》——HBase 迁移到 CDP(2)
《CDP企业数据云平台从入门到实践》——HBase 迁移到 CDP(2)
120 0
|
11月前
|
安全 Shell 测试技术
《CDP企业数据云平台从入门到实践》——HBase 迁移到 CDP(3)
《CDP企业数据云平台从入门到实践》——HBase 迁移到 CDP(3)
131 0
|
Shell 分布式数据库 Hbase
hbase Normalizer解决预分区错误,在不动数据的情况下完美解决热点问题
hbase Normalizer解决预分区错误,在不动数据的情况下完美解决热点问题
165 0
hbase Normalizer解决预分区错误,在不动数据的情况下完美解决热点问题
|
SQL 缓存 分布式计算
HBase查询一张表的数据条数的方法
HBase查询一张表的数据条数的方法
793 0
HBase查询一张表的数据条数的方法
|
存储 搜索推荐 Java
如何基于 HBase 构建图片、视频数据的统一存储检索方案|学习笔记
快速学习如何基于 HBase 构建图片、视频数据的统一存储检索方案
747 0
如何基于 HBase 构建图片、视频数据的统一存储检索方案|学习笔记