HBASE学习九:数据写入 -> BulkLoad

HBase的BulkLoad功能用于解决大规模数据导入时对RegionServer的压力问题,通过MapReduce生成HFile,然后直接导入集群。此过程分为HFile生成和导入两个阶段,能避免频繁flush、compact和split,提高集群稳定性。在实施BulkLoad时,需要注意权限配置以确保流程顺利,同时,Locality的考虑能进一步提升性能。
摘要由CSDN通过智能技术生成

1、功能

在实际生产环境中,有这样一种场景:用户数据位于HDFS中,业务需要定期将这部分海量数据导入HBase系统,以执行随机查询更新操作。这种场景如果调用写入API进行处理,极有可能会给RegionServer带来较大的写入压力:

  • 引起RegionServer频繁f lush,进而不断compact、split,影响集群稳定性。
  • 引起RegionServer频繁GC,影响集群稳定性。
  • 消耗大量CPU资源、带宽资源、内存资源以及IO资源,与其他业务产生资源竞争。
  • 在某些场景下,比如平均KV大小比较大的场景,会耗尽RegionServer的处理线程,导致集群阻塞。

鉴于存在上述问题,HBase提供了另一种将数据写入HBase集群的方法——BulkLoad。

BulkLoad首先使用MapReduce将待写入集群数据转换为HFile文件,再直接将这些HFile文件加载到在线集群中。显然,BulkLoad方案没有将写请求发送给RegionServer处理,可以有效避免上述一系列问题。

1.3x版本后hbase开始支持Bulkload数据复制,为了开启该功能,需要开启开关:hbase.replication. bulkload.enabled=true。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Studying!!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值