
# 提升HBase BulkLoad工具批量加载效率
#### 操作场景
批量加载功能采用了MapReduce jobs直接生成符合HBase内部数据格式的文件，然后把生成的StoreFiles文件加载到正在运行的集群。使用批量加载相比直接使用HBase的API会节约更多的CPU和网络资源。
ImportTSV是一个HBase的表数据加载工具。
![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
本章节适用于MRS 3.x及之后版本。
#### 前提条件
在执行批量加载时需要通过"Dimporttsv.bulk.output"参数指定文件的输出路径。
#### 操作步骤
参数入口：执行批量加载任务时，在BulkLoad命令行中加入如下参数。
表1增强BulkLoad效率的配置项 
| 参数                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                            | 配置的值                                                                                                                                                                                                                |
|:---|:---|:---|
| -Dimporttsv.mapper.class | 用户自定义mapper通过把键值对的构造从mapper移动到reducer以帮助提高性能。mapper只需要把每一行的原始文本发送给reducer，reducer解析每一行的每一条记录并创建键值对。 说明： 当该值配置为"org.apache.hadoop.hbase.mapreduce.TsvImporterByteMapper"时，只在执行没有*HBASE_CELL_VISIBILITY OR HBASE_CELL_TTL*选项的批量加载命令时使用。使用"org.apache.hadoop.hbase.mapreduce.TsvImporterByteMapper"时可以得到更好的性能。 | org.apache.hadoop.hbase.mapreduce.TsvImporterByteMapper 和 org.apache.hadoop.hbase.mapreduce.TsvImporterTextMapper |
   
