HBase bulkLoad的注意事项
bulk load 特性使用MapReduce 来输出table数据到HBase 内部数据格式, 然后直接把存储文件装进一个正在运行的集群。使用BulkLoad将会使用更少的CPU和网络带宽来简化HBASE API。
BulkLoad限制
BulkLoad会跳过WAL,Replication需要使用WAL所以无法看到bulk load 数据。解决方法是要裸数据或者HFILE发到备集群在那边处理。
BulkLoad架构分为两部分:
生成Hbase内部存储文件所以之后可以被有效的放入急群众。
为了有效的实现功能,HFileOutputFormat2必须被设置成HFIle在同一个region中,为了实现这个目的,需要使用TotalOrderPartitioner把输出文件分割成以Region键范围分割的文件
HFileOutputFormat2 包含一个方便的方法,configureIncrementalLoad(),可以自动根据当前表region边界来使用TotalOrderPart