利用散装货物导入Hbase表

  


利用散装货物导入Hbase表

,并引起一系列连锁反应,而配合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表