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

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。

2、核心流程

BulkLoad主要由两个阶段组成:HFile生成阶段与HFile导入阶段。

2.1 HFile生成阶段

这个阶段会运行一个MapReduce任务,MapReduce的mapper需要自己实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java EE初阶二十一】http的简单理解(二)

2. 深入学习http 2.5 关于referer Referer 描述了当前页面是从哪个页面跳转来的,如果是直接在地址栏输入 url(或者点击收藏夹中的按钮) 都是没有 Referer。如下图所示: HTTP 最大的问题在于"明文传输”,明文传输就容易被第三方获取并篡改. …

#gStore-weekly | gStore最新版1.2之新增内置高级函数详解(一)

gStore1.2版本新增了七个高级函数,我们第2期将继续介绍的高级函数为:整体/局部集聚系数(clusterCoeff)、鲁汶算法(louvain)、K跳计数(kHopCount)/K跳邻居(kHopNeighbor&a…

Javaopp面向对象部分核心知识梳理

目录 前言: 一.面向对象和面向过程 面向过程 面向对象 面向过程与面向对象 二.类和对象 类 概念 成员变量(静态成员变量 和 非静态成员变量) 成员方法(静态成员方法 和 非静态成员方法) 代码块(实…

React之拖动组件的设计(一)

春节终结束了,忙得我头疼。终于有时间弄自己的东西了。今天来写一个关于拖动的实例讲解。先看效果: 这是一个简单的组件设计,如果用原生的js设计就很简单,但在React中有些事件必须要多考虑一些。这是一个系列的文章,…

Linux CAfile 文件下的/ca-bundle.crt怎么生成的

在配置Linux Nginx SSL证书后,通过服务器访问域名时发现,服务器返回的CA证书是:/etc/pki/tls/certs/ca-bundle.crt 正式我在使用Spring Native安装了Docker自动生成的,而且开启了Docker的自启动,如果你和我一样&#x…

常见的几种HTTP状态码

HTTP状态码用于告知客户端与服务器之间发生的情况,以下是一些常见的HTTP状态码及其含义: 1xx 信息性状态码(Informational): 100 Continue:收到请求的初始部分,客户端应继续请求。101 Switching…

10MARL深度强化学习 Value Decomposition in Common-Reward Games

文章目录 前言1、价值分解的研究现状2、Individual-Global-Max Property3、Linear and Monotonic Value Decomposition3.1线性值分解3.2 单调值分解 前言 中心化价值函数能够缓解一些多智能体强化学习当中的问题,如非平稳性、局部可观测、信用分配与均衡选择等问题…

从零开始学习Netty - 学习笔记 - NIO基础 - 文件编程:FileChannel,Path,Files

3.文件编程 3.1.FileChannel FileChannel只能工作在非阻塞模式下面,不能和selector一起使用 获取 不能直接打开FIleChannel,必须通过FileInputSream,或者FileOutputSetream ,或者RandomAccessFile来获取FileChannel 通过FileIn…

互联网高科技公司领导AI工业化,MatrixGo加速人工智能落地

作者:吴宁川 AI(人工智能)工业化与AI工程化正在引领人工智能的大趋势。AI工程化主要从企业CIO角度,着眼于在企业生产环境中规模化落地AI应用的工程化举措;而AI工业化则从AI供应商的角度,着眼于以规模化方式…

Rust ?运算符 Rust读写txt文件

一、Rust ?运算符 ?运算符:传播错误的一种快捷方式。 如果Result是Ok:Ok中的值就是表达式的结果,然后继续执行程序。 如果Result是Err:Err就是整个函数的返回值,就像使用了return &#xff…

电脑wifi丢失修复

当你打开电脑突然发现wifi功能不见了,可以先查看一下网卡的状态 在控制面板中找到设备管理器,打开就能找到网络适配器, 我这里是修复过的,wifi丢失后这里可能会显示WALN是丢失的,其他项显示黄色感叹号。 如何修复呢…

Go语言中的TLS加密:深入crypto/tls库的实战指南

Go语言中的TLS加密:深入crypto/tls库的实战指南 引言crypto/tls库的核心组件TLS配置:tls.Config证书加载与管理TLS握手过程及其实现 构建安全的服务端创建TLS加密的HTTP服务器配置TLS属性常见的安全设置和最佳实践 开发TLS客户端应用编写使用TLS的客户端…

[游戏开发][虚幻5]新建项目注意事项

鼠标右键点击Client.uproject文件,可以看到三个比较关键的选项, 启动游戏,生成sln解决方案,切换引擎版本 断点调试 C代码重要步骤 如果你想断点调试C代码,则必须使用使用代码编译启动引擎,你需要做几个操作…

Backend - Docker 离线卸载

目录 一、卸载 docker 1. 停止 docker 2. 删除相关文件 3. 重新加载配置文件 4. 移除 docker 二、卸载 docker-compose 三、查看 Docker-compose 和 Docker、docker.service 是否卸载干净 1. 首先确定自己安装的目录 2. 进入这三个目录下查看文件夹 3. 删除docker-se…

Python 正斜杠 (斜杠 /) 和反斜杠 (倒斜杠 \)

Python 正斜杠 [斜杠 /] 和反斜杠 [倒斜杠 \] 1. Windows2. LinuxReferences 1. Windows 倒斜杠有两个,因为每个倒斜杠需要由另一个倒斜杠字符来转义。 Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\fore…

从零开始学习Netty - 学习笔记 - NIO基础 - 网络编程: Selector

4.网络编程 4.1.非阻塞 VS 阻塞 在网络编程中,**阻塞(Blocking)和非阻塞(Non-blocking)**是两种不同的编程模型,描述了程序在进行网络通信时的行为方式。 阻塞(Blocking)&#xff1…

C#中使用list封装多个同类型对象以及组合拓展实体的应用

文章目录 一、list使用方法二、C#组合拓展实体 一、list使用方法 在C#中&#xff0c;使用List<T>集合是封装多个同类型对象的常用方式。List<T>是泛型集合&#xff0c;T是集合中元素的类型。下面是一个简单的例子&#xff0c;演示如何创建一个List<T>&#…

鸿蒙 gnss 开关使能流程

先WiFi&#xff0c;后 定位&#xff0c;再从蓝牙到NFC&#xff0c;这个就是我大致熟悉开源鸿蒙代码的一个顺序流程&#xff0c;WiFi 的年前差不多基本流程熟悉了&#xff0c;当然还有很多细节和内容没有写到&#xff0c;后续都会慢慢的丰富起来&#xff0c;这一篇将开启GNSS的篇…

js设计模式:计算属性模式

作用: 将对象中的某些值与其他值进行关联,根据其他值来计算该值的结果 vue中的计算属性就是很经典的例子 示例: let nowDate 2023const wjtInfo {brithDate:1995,get age(){return nowDate-this.brithDate}}console.log(wjtInfo.age,wjt年龄)nowDate 1console.log(wjtInf…

mq大量消息堆积有哪些解决方案

当消息队列中出现大量消息堆积时&#xff0c;可能会导致系统性能下降、消息延迟增加以及服务不可用等问题。针对这种情况&#xff0c;可以采取以下几种解决方案&#xff1a; 增加消费者数量&#xff1a;增加消费者数量可以提高消息消费的速度&#xff0c;缩短消息队列中消息的处…