content: package com.manning.hip.ch2;
  
  import org.apache.hadoop.conf.Configuration;
  import org.apache.hadoop.hbase.*;
  import org.apache.hadoop.hbase.client.*;
  import org.apache.hadoop.hbase.util.Bytes;
  
  import java.util.Random;
  
  public class StockHBaseImporter {
    public static void main(String[] args) throws Exception {
  
      String[] pages = {"/", "/a.html", "/b.html", "/c.html"};
  
      Configuration conf = HBaseConfiguration.create();
  
      conf.set("hbase.master", "localhost:60000");
  
      HBaseAdmin hbase = new HBaseAdmin(conf);
      HTableDescriptor desc = new HTableDescriptor("access_logs");
      HColumnDescriptor meta =
          new HColumnDescriptor("details".getBytes());
      desc.addFamily(meta);
      hbase.createTable(desc);
  
      HTable htable = new HTable(conf, "access_logs");
      htable.setAutoFlush(false);
      htable.setWriteBufferSize(1024 * 1024 * 12);
  
      int totalRecords = 100000;
      int maxID = totalRecords / 1000;
      Random rand = new Random();
      System.out.println("importing " + totalRecords + " records ....");
      for (int i = 0; i < totalRecords; i++) {
        int userID = rand.nextInt(maxID) + 1;
        byte[] rowkey =
            Bytes.add(Bytes.toBytes(userID), Bytes.toBytes(i));
        String randomPage = pages[rand.nextInt(pages.length)];
        Put put = new Put(rowkey);
        put.add(Bytes.toBytes("details"), Bytes.toBytes("page"), Bytes
            .toBytes(randomPage));
        htable.put(put);
      }
      htable.flushCommits();
      htable.close();
      System.out.println("done");
    }
  }
  