hbase批量删除的最快和最有效的方法是什么

arknldoa  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(558)

批量删除hbase记录的最快和最有效的方法是什么?hbase客户端api还是mapreduce作业?

bttbmeg0

bttbmeg01#

hbase客户端api更快,因为在使用mapreduce时直接在数据库上执行操作,这意味着任务将在作业上运行,根据我的经验,这需要时间。在此基础上,hbase将允许您在mapreduce无法执行的列族中运行特定操作。

btqmn9zl

btqmn9zl2#

hbase客户端api不允许进行批量删除,除非您知道要删除的单元格的行键。
bulkdeleteendpoint可用于根据扫描程序的结果执行批量删除。

o75abkj4

o75abkj43#

对于大型连续数据集,最快、最有效的方法是删除整个区域的hdfs目录并将其从元表中删除。这几乎不需要io,因此可以说几乎是免费的。但是请注意,这还不能直接通过高级api获得,因此必须编写脚本/代码才能完成。
下面是一个来自hbase邮件列表的示例,说明了如何使用shell来完成此任务。
从shell关闭区域(请阅读如何使用shell帮助——不要取消分配)
然后只要在区域关闭后删除hdfs中区域的内容(hdfs中的区域dir名称与区域编码名称相同,区域名称的最后一部分--check refguide)。
在hdfs中删除之后,调用assignregion。
来源http://search-hadoop.com/m/ygbbl9zasq2hlt&subj=re+delete+a+region+from+hbase

相关问题