#CompleteBulkLoad
completebulkload功能是将是将StoreFiles移动到Hbase表中,一般先通过importtsv生成StoreFiles.
##生成StoreFiles
两种方式生成文件 ###Explicit Classname $ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,f:q1,c <options> -Dimporttsv.bulk.output=hdfs://storefileoutput <tablename> <hdfs-inputdir>
###Driver $ HADOOP_CLASSPATH=hbase classpath
hadoop jar ${HBASE_HOME}/lib/hbase-server-<version>.jar importtsv <options> -Dimporttsv.bulk.output=hdfs://storefileoutput <tablename> <hdfs-inputdir>
##使用
两种方式来使用这个功能 ###Explicit Classname $ hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles hdfs://storefileoutput <tablename> ###Driver HADOOP_CLASSPATH=hbase classpath
hadoop jar ${HBASE_HOME}/hbase-server-VERSION.jar completebulkload hdfs://storefileoutput <tablename>
##例子 ###文件
$ hadoop fs -cat /hbasetest/test.txt
1|value1|valueq1
2|value2|valueq2
###hbase表
$ hbase shell
create 'htable','f'
###生成StoreFiles文件 hbase org.apache.hadoop.hbase.mapreduce.ImportTsv '-Dimporttsv.columns=HBASE_ROW_KEY,f:q1,f:q2' '-Dimporttsv.separator=|' -Dimporttsv.skip.bad.lines=false -Dimporttsv.bulk.output=/hbasetest/testbulk htable /hbasetest/test.txt ###执行导入值Hbase表
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /hbasetest/testbulk htable