文档章节

HBase1.2.3架构剖析(五) 之 批量装载

你我他有个梦
 你我他有个梦
发布于 2017/02/24 09:26
字数 516
阅读 70
收藏 0

1  批量装载(Bulk Loading)

        HBase 有好几种方法将数据装载到表。最直接的方式即可以通过MapReduce任务,也可以通过普通客户端API。但是这都不是高效方法。

        批量装载特性采用 MapReduce 任务,将表数据输出为HBase的内部数据格式,然后可以将产生的存储文件直接装载到运行的集群中。批量装载比简单使用 HBase API 消耗更少的CPU和网络资源。

装载过程包含两个主要步骤:

1.1   通过mapreduce任务准备数据

        批量装载第一步,从MapReduce任务通过HFileOutputFormat2产生HBase数据文件(StoreFiles) 。输出数据为HBase的内部数据格式,以便随后装载到集群更高效。

        为了处理高效, HFileOutputFormat2必须为每个输出的HFile配置在一个region内。为了做到这一点,输出将被批量装载到HBase的任务中,使用Hadoop 的TotalOrderPartitioner类可以划分key的范围。

        HFileOutputFormat2包括一个很方便的函数configureIncrementalLoad(), 可以基于一个表当前的region边界自动设置TotalOrderPartitioner。

1.2   完成数据装载

        导入数据已经准备好,可以使用importtsv工具选择“importtsv.bulk.output”选项或者用HFileOutputFormat的MapReduce job。Completebulkload工具用于导入到运行中的集群。这个命令行工具遍历所准备好的数据文件,并确定文件属于哪个region,然后找到合适的RegionServer接收HFile,将它移动到它的存储目录中,把数据提供给客户端。

        如果region范围在批量装载准备期间或者在准备和完成之间发生了变化,Completebulkload将自动拆分数据文件到新的region。这个过程不是最佳的,所以用户应该小心以尽量减少较大的容量负载并导入集群的延迟,特别是客户端通过其他方式同时加载数据。

© 著作权归作者所有

你我他有个梦

你我他有个梦

粉丝 97
博文 130
码字总数 109764
作品 0
通州
程序员
私信 提问
HBase基本知识

概述 HBase 特性: 强一致性读写: HBase 不是 "最终一致性(eventually consistent)" 数据存储. 这让它很适合高速计数聚合类任务。 自动分片(Automatic sharding): HBase 表通过region分布在集...

Adel
2016/05/30
90
0
Java系列文章(全)

JVM JVM系列:类装载器的体系结构 JVM系列:Class文件检验器 JVM系列:安全管理器 JVM系列:策略文件 Java垃圾回收机制 深入剖析Classloader(一)--类的主动使用与被动使用 深入剖析Classloader(二...

www19
2017/07/04
0
0
OushuDB入门(二)——性能篇

一、OushuDB新版本的性能提升 Oushu Database 2.2版本的执行器基于Apache HAWQ的执行器,而Apache HAWQ的执行器起源于Greenplum Database和PostgreSQL,是一个很成熟的执行器,经过多年的优化...

wzy0623
2018/04/20
0
0
.NET系列文章——近一年文章分类整理,方便各位博友们查询学习

由于博主今后一段时间可能会很忙(准备出书:《.NET框架设计—模式、配置、工具》,外加换了新工作),所以博客会很少更新; 在最近一年左右时间里,博主各种.NET技术类型的文章都写过,根据...

王清培
2014/03/02
0
0
jenkins自动部署

一.说明 经过一段时间的研究与讨论(关于自动化部署及自动化运维),初步确定方案,并已经开始实施。 根据目前公司的服务器环境及系统架构,以及当前市面流行趋势,对工具的使用进行了确定,为...

邱野
2016/10/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部