Hbase可以使用共有的其他命令,以下为Hbase特有的命令:
bulk-ingest
批量摄取
获取数据并写入到hfile(Hbase是以HFILE的形式存储的),适合批量加载到集群中。写入脱机hfile而不是直接写入正在运行的集群可以减少集群上的负载,并避免昂贵的数据压缩。
批量摄取必须作为map/reduce作业运行。因此,要确保输入文件存在于HDFS中。
在运行批量摄取时,需要确保输入的数据有适当的分割。这将避免在摄取期间创建非常大的文件,还将防止集群随后必须分割HFiles。
目前,HBase只支持一次写入一个表。因此,完整的批量加载会多次运行此命令,每次为每个索引表(例如z3、id等)运行一次。
生成文件之后,可使用bulk-load命令将它们加载到集群中。
bulk-load
将HFiles加载到HBase集群中。
注:此命令可能是数据出现错误,应该在执行命令之前对数据进行备份,如果在加载数据期间出现错误,使用 hbase hbck命令进行还原
可根据数据大小适当的修改以下命令:
1、hbase.rpc.timeout -在大型数据集上,这个值应该增大
2、hbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily -在大型数据集上,这个值应该增大
3、hbase.loadincremental.threads.max - 数据装载速度,要与服务器数量合适