竹笋

首页 » 问答 » 常识 » 关于Hbase的一些常见问题
TUhjnbcbe - 2023/10/2 17:19:00

一、通常向HBase批量导入数据有三种常用方式

1、使用HBase提供的TableOutputFormat,原理是通过一个Mapreduce作业将数据导入HBase

2、还有一种方式就是使用HBase原生ClientAPI(put)

3、前两种方式因为须要频繁的与数据所存储的RegionServer通信。一次性入库大量数据时,特别占用资源,所以都不是很有效。因为HBase在HDFS中是以HFile文件结构存储的,所以高效便捷的方法就是直接生成HFile文件然后使用BulkLoad方法,即HBase提供的HFileOutputFormat类。

二、BulkLoad基本原理

BulkLoad处理由两个主要步骤组成:

1、生成HFile文件

BulkLoad的第一步会执行一个Mapreduce作业,其中使用到了HFileOutputFormat输出HBase数据文件:StoreFile。

HFileOutputFormat的作用在于使得输出的HFile文件能够适应单个region。使用TotalOrderPartitioner类将map输出结果分区到各个不同的key区间中,每一个key区间都相应着HBase表的region。

2、导入HBase表

第二步使用

1
查看完整版本: 关于Hbase的一些常见问题