hbase通过java客户端写入数据和查询数据。
写入数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 public  static Configuration  hbaseConfiguration = HBaseConfiguration.create ();public  static Connection  connection  = null ;public  static Admin  admin  = null ;//date  format  public  static SimpleDateFormat dateFornat = new  SimpleDateFormat("yyyyMMddHHmmss"); //初始化hbase的连接和获取admin 对象 public  static void  init() {    hbaseConfiguration.set ("hbase.zookeeper.property.clientPort", "2181");     hbaseConfiguration.set ("hbase.zookeeper.quorum", "192.168.1.180");     try {         connection  = ConnectionFactory.createConnection(hbaseConfiguration);         admin  = connection .getAdmin();     } catch (IOException e) {         e.printStackTrace();     } } public  static void  main(String[] args) throws Exception  {    init();     insert ("person_sale", "186xxxxxxxx_", "content", "content", "11111============2222=========333");     close (); } //批量写入 public  static void  insert (String tableName, String rowKey, String colFamily, String col, String value )        throws IOException, InterruptedException {     Table  table = connection .getTable(TableName.valueOf(tableName));     Calendar calendar = null ;     List<Put> putList = new  ArrayList<Put>();          for (int  i = 0 ; i < 20 ; i++)     {         calendar = Calendar.getInstance();         Date  date  = calendar.getTime();         System .out .println("========" + dateFornat.format(date ));         Put put = new  Put(Bytes.toBytes(rowKey + dateFornat.format(date )));         put.addColumn(Bytes.toBytes(colFamily), Bytes.toBytes(col), Bytes.toBytes(value ));         putList.add (put);                  java.util.concurrent.TimeUnit.SECONDS.sleep(1 );     }     //批量添加数据     table .put(putList);     table .close (); } public  static void  close () {    try {         if  (null  != admin ) {             admin .close ();         }         if  (null  != connection ) {             connection .close ();         }     } catch (IOException e) {         e.printStackTrace();     } } 
查询数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 public  static  Configuration  hbaseConfiguration  =  HBaseConfiguration.create();public  static  Connection  connection  =  null ;public  static  Admin  admin  =  null ;public  static  SimpleDateFormat  dateFornat  =  new  SimpleDateFormat ("yyyyMMddHHmmss" ); public  static  void  init ()  {    hbaseConfiguration.set("hbase.zookeeper.property.clientPort" , "2181" );     hbaseConfiguration.set("hbase.zookeeper.quorum" , "192.168.1.180" );     try  {         connection = ConnectionFactory.createConnection(hbaseConfiguration);         admin = connection.getAdmin();     } catch  (IOException e) {         e.printStackTrace();     } } public  static  void  main (String[] args)  throws  IOException {    init();     showTablesContent("person_sale" );     close(); } public  static  void  showTablesContent (final  String tableName)  throws  IOException {    Table  table  =  connection.getTable(TableName.valueOf(tableName));     Scan  scan  =  new  Scan ();     scan.setMaxVersions();     scan.setBatch(10000 );          scan.setStartRow(Bytes.toBytes("186xxxxxxxx_20170330132405" ));          scan.setStopRow(Bytes.toBytes("186xxxxxxxx_20170330132418" ));               ResultScanner  result  =  table.getScanner(scan);               for (Result r : result) {         System.out.println(Bytes.toString(r.getValue(Bytes.toBytes("content" ), Bytes.toBytes("content" ))));     }          table.close(); } public  static  void  close ()  {    try  {         if  (null  != admin) {             admin.close();         }         if  (null  != connection) {             connection.close();         }     } catch  (IOException e) {         e.printStackTrace();     } } 
注意点 1、hbase的机器名称要在客户端机器上面的hosts文件里面标明,否则会一直卡在connection.getAdmin();这句上。这里会从zk中获取master的hbase实例,zk返回的是master的主机名,不是ip地址。所以在这里一定要在客户端hosts中添加主机名到ip的映射关系。
      
     
    
   
  
    
    
  
    
      < 
      
        
          storm核心术语介绍
        
      
     
  
  
    
      oracle常用sql
      >