,并引起一系列连锁反应,而配合mapreduce完成,高效便捷,而且不占用地区资源,增添负载,在大数据量写入时能极大的提高写入效率,并降低对Hbase节点的写入压力。
,,,,散装货物原理已在上面介绍,其具体实现流程是先用mapreduce生成HFile文件输出并且存储在HDFS上,然后利用loader.doBulkLoad (HFile HBaseTable);写入Hbase中。具体代码如下:
public class BulkLoad { ,,,, ,,,private static final String JOBNAME =,“散装货物”; ,,,private static final String TABLENAME =,“散装货物”; ,,,private static final String PATH_IN =,“xx/xx”,,,,,//输入路径 ,,,private static final String PATH_OUT =,“xx/xx”,,,,,//输入路径,,,, ,,,, ,,,private static final String SEPARATOR =,“\ \ |”; ,,,, ,,,private static final byte [], ColumnFamily =,,“f”.getBytes();,,//,列簇 ,,,private static final byte [], QUALIFIER_TAG1 =,,“标签1”.getBytes(),,,,,//,列名,, ,,,private static final byte [], QUALIFIER_TAG2 =,,“标签2”.getBytes (),, ,,,private static final byte [], QUALIFIER_TAG3 =,,“tag3 .getBytes (),, ,,,private static final byte [], QUALIFIER_TAG4 =,,“从”.getBytes (),, ,,,private static final byte [], QUALIFIER_TAG5 =,,“tag5 .getBytes (),, ,,,private static final byte [], QUALIFIER_TAG6 =,,“tag6 .getBytes (),, ,,,private static final byte [], QUALIFIER_TAG7 =,,“tag7 .getBytes (),, ,,,private static final byte [], QUALIFIER_TAG8 =,,“tag8 .getBytes (),, ,,,private static final byte [], QUALIFIER_TAG9 =,,“tag9 .getBytes (),, ,,,private static final byte [], QUALIFIER_TAG10 =,,“tag10 .getBytes (),, ,,,, ,,,public static class Map extends Mapper, { ,,,,,,,protected void 地图(LongWritable 关键,Text 价值,Context 上下文),throws IOException, InterruptedException { ,,,,,,,,,,,String [], strArr =, value.toString () .split(分离器); ,,,,,,,,,,,String row =, strArr [0]; ,,,,,,,,,,,Put Put =, new 把(Bytes.toBytes (row.toString ())),,,,,,//rowkey ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG1,, Bytes.toBytes (strArr [2])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG2,, Bytes.toBytes (strArr [3])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG3,, Bytes.toBytes (strArr [4])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG4,, Bytes.toBytes (strArr [5])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG5,, Bytes.toBytes (strArr [6])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG6,, Bytes.toBytes (strArr [7])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG7,, Bytes.toBytes (strArr [8])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG8,, Bytes.toBytes (strArr [9])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG9,, Bytes.toBytes (strArr [10])); ,,,,,,,,,,,put.add (ColumnFamily, QUALIFIER_TAG10,, Bytes.toBytes (strArr [11])); ,,,,,,,,,,, null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null 利用散装货物导入Hbase表