HBase 清空表数据
public int clearTableByTableName(String tableName) throws Exception {
logger.debug("======InitHbaseServiceImpl clearTableByTableName=======");
int count = 0;
List<HBaseRow> 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<HBaseRow> 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 清空表数据的更多相关文章
- Sqlite清空表数据以及重新设置主键操作
Sqlite清空表数据以及重新设置主键操作 delete from 表名; //清空数据 update sqlite_sequence SET seq = 0 where name ='表名';//自 ...
- mysql清空表数据并重置自增ID
mysql清空表数据并重置自增ID: ## 查看mysql> select * from work_order_company;mysql> show create table work_ ...
- oracle 清空表数据的2种方式及速度比较
1.情景展示 现在,需要清空该表数据 2.实现方式 为了比较删除速度,对该表进行复制 确认复制的表和原来的表数据是否一致 方式一:使用truncate table实现 方式二:使用de ...
- SQLite 如何清空表数据并将递增量归零
SQLite并不支持TRUNCATE TABLE语句 方式一: DELETE FROM [Tab_User] --不能将递增数归零 方式二: DELETE FROM sqlite_sequence W ...
- MySQL删除语句比较,清空表数据,重置自增长索引
drop truncate delete 程度从强到弱 1.drop table tbdrop将表格直接删除,没有办法找回 2.truncate (table) tbtruncate 删除表中的所有数 ...
- 统计Azure存储的HBase各表数据量
场景:HBase存储在Azure上,现在通过访问Azure Storage的接口,获取HBase中各个表的数据量. 注意: 1.Azure存储,默认的副本数为2,即共存3份,但只收1份的费用,取到的s ...
- Sqlite清空表数据
delete from TableName; //清空数据 where name ='TableName';//自增长ID为0
- MySQL快速清空表数据
truncate table 可以不删除表的情况下,快速情况表数据
- 清空表数据 mysql让主键从1开始
TRUNCATE TABLE name 删除表中的所有行,而不记录单个行删除操作.
随机推荐
- Python-模块导入-63
模块导入: # 内置模块 # 扩展的 django # 自定义的 # 文件 # import demo # def read(): # print('my read func') # demo.rea ...
- H5 video标签的第二种格式
36-video标签的第二种格式 2.第二种格式存在的意义: 由于视频数据非常非常的重要, 所以五大浏览器厂商都不愿意支持别人的视频格式, 所以导致了没有一种视频格式是所有浏览器都支持的 这个时候W3 ...
- Day2 Python基础之基本操作(一)
1.常用命令 调用cmd窗口 Win+R cmd命令窗口清屏 cls cmd命令窗口在运行python时清屏 import os i=os.system('cls') cmd命令窗口在运行python ...
- elasticsearch5.0版本的head安装
elasticsearch5.0版本的head安装 elasticsearch5.0版本由于刚出不久,并且与2.0版本的差距较大.所以,目前大家对5.0的一些使用还有所陌生.这里先把关于head插件的 ...
- 从Mongo导出数据库到Excel
在MongoDB的安装目录的bin文件夹下打开命令行: ./mongoexport -d kugou_db -c songs -f rank,singer,song,time --type=csv - ...
- java.util (Collection接口和Map接口)
1:Collection和Map接口的几个主要继承和实现类 1.1 Collection接口 Collection是最基本的集合接口,一个Collection代表一 ...
- [转帖] BMC安全隐患
BMC再现漏洞,裸金属云服务器岌岌可危 https://zhuanlan.kanxue.com/article-8006.htm 之前有vt-x 可能有隐患 现在看起来BMC 也就是IPMI 也有隐患 ...
- ORA-12541:TNS:无监听程序 解决办法
昨天我在一台win7笔记本中安装了oracle11g,然后打算用另一个win10的笔记本使用plsql developer局域网内连接访问oracle数据库.但是遇到ORA-12541:TNS:无监听 ...
- Hadoop2.0 Namenode HA实现方案
Hadoop2.0 Namenode HA实现方案介绍及汇总 基于社区最新release的Hadoop2.2.0版本,调研了hadoop HA方面的内容.hadoop2.0主要的新特性(Hadoop2 ...
- 在linux系统中实现各项监控的关键技术(2)--内核态与用户态进程之间的通信netlink
Netlink 是一种在内核与用户应用间进行双向数据传输的非常好的方式,用户态应用使用标准的 socket API 就可以使用 netlink 提供的强大功能,内核态需要使用专门的内核 API 来使用 ...