无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    HBase Java客戶端編程

    發(fā)布時間:  2012/9/5 16:53:36

    本文以Hbase-0.92.0為例,介紹如何在Windows系統(tǒng),Eclipse IDE集成環(huán)境下,使用Java語言,進行HBase客戶端編程,包含建立表、刪除表、插入記錄、刪除記錄、各種方式下的查詢操作等。

    1. 準備工作

    1、下載后安裝jdk包;

    2、下載eclipse,解壓到本地;

    3、下載HBase包,解壓安裝包到本地(這里使用的是 Hbase-0.92.0)。-
     


    2. 搭建開發(fā)環(huán)境

    1、運行Eclipse,創(chuàng)建一個新的Java工程“HBaseClient”,右鍵項目根目錄,選擇 “Properties”->“Java Build Path”->“Library”->“Add External JARs”,將HBase解壓后根目錄下的hbase-0.92.0.jar、hbase-0.92.0-tests.jar和lib子目錄下所有jar 包添加到本工程的Classpath下。

    2、按照步驟1中的操作,將自己所連接的HBase的配置文件hbase-site.xml添加到本工程的Classpath中,如下所示為配置文件的一個示例:

    <configuration>   
    <property>   
    <name>hbase.rootdir</name>   
    <value>hdfs://Hadoop-1:9000/hbase</value>   
    </property>   
    <property>   
    <name>hbase.cluster.distributed</name>   
    <value>true</value>   
    </property>   
    <property>   
    <name>hbase.zookeeper.quorum</name>   
    <value>Hadoop-1,hadoop-2,hadoop-3,hadoop-4</value>   
    </property>   
    <property>   
    <name>zookeeper.session.timeout</name>   
    <value>60000</value>   
    </property>   
    <property>   
    <name>hbase.master</name>   
    <value>Hadoop-1:60000</value>   
    </property>   
    <property>   
    <name>hbase.zookeeper.property.clientPort</name>   
    <value>21818</value>   
    </property>   
    </configuration> 
    3、下面可以在Eclipse環(huán)境下進行HBase編程了。

    3. HBase基本操作代碼示例

    import java.io.IOException;      
    import java.util.ArrayList;      
    import java.util.List;      
           
    import org.apache.Hadoop.conf.Configuration;      
    import org.apache.Hadoop.hbase.HBaseConfiguration;      
    import org.apache.Hadoop.hbase.HColumnDescriptor;      
    import org.apache.Hadoop.hbase.HTableDescriptor;      
    import org.apache.Hadoop.hbase.KeyValue;      
    import org.apache.Hadoop.hbase.MasterNotRunningException;      
    import org.apache.Hadoop.hbase.ZooKeeperConnectionException;      
    import org.apache.Hadoop.hbase.client.Delete;      
    import org.apache.Hadoop.hbase.client.Get;      
    import org.apache.Hadoop.hbase.client.HBaseAdmin;      
    import org.apache.Hadoop.hbase.client.HTable;      
    import org.apache.Hadoop.hbase.client.Result;      
    import org.apache.Hadoop.hbase.client.ResultScanner;      
    import org.apache.Hadoop.hbase.client.Scan;      
    import org.apache.Hadoop.hbase.client.Put;      
    import org.apache.Hadoop.hbase.util.Bytes;      
           
    public class HBaseTest {        
              
        private static Configuration conf =null;   
         /**  
          * 初始化配置  
         */  
         static {   
             conf = HBaseConfiguration.create();   
         }   
            
        /**    
         * 創(chuàng)建一張表    
         */     
        public static void creatTable(String tableName, String[] familys) throws Exception {      
            HBaseAdmin admin = new HBaseAdmin(conf);      
            if (admin.tableExists(tableName)) {      
                System.out.println("table already exists!");      
            } else {      
                HTableDescriptor tableDesc = new HTableDescriptor(tableName);      
                for(int i=0; i<familys.length; i++){      
                    tableDesc.addFamily(new HColumnDescriptor(familys[i]));      
                }      
                admin.createTable(tableDesc);      
                System.out.println("create table " + tableName + " ok.");      
            }       
        }      
              
        /**    
         * 刪除表    
         */     
        public static void deleteTable(String tableName) throws Exception {      
           try {      
               HBaseAdmin admin = new HBaseAdmin(conf);      
               admin.disableTable(tableName);      
               admin.deleteTable(tableName);      
               System.out.println("delete table " + tableName + " ok.");      
           } catch (MasterNotRunningException e) {      
               e.printStackTrace();      
           } catch (ZooKeeperConnectionException e) {      
               e.printStackTrace();      
           }      
        }      
               
        /**    
         * 插入一行記錄    
         */     
        public static void addRecord (String tableName, String rowKey, String family, String qualifier, String value)      
                throws Exception{      
            try {      
                HTable table = new HTable(conf, tableName);      
                Put put = new Put(Bytes.toBytes(rowKey));      
                put.add(Bytes.toBytes(family),Bytes.toBytes(qualifier),Bytes.toBytes(value));      
                table.put(put);      
                System.out.println("insert recored " + rowKey + " to table " + tableName +" ok.");      
            } catch (IOException e) {      
                e.printStackTrace();      
            }      
        }      
           
        /**    
         * 刪除一行記錄    
         */     
        public static void delRecord (String tableName, String rowKey) throws IOException{      
            HTable table = new HTable(conf, tableName);      
            List list = new ArrayList();      
            Delete del = new Delete(rowKey.getBytes());      
            list.add(del);      
            table.delete(list);      
            System.out.println("del recored " + rowKey + " ok.");      
        }      
               
        /**    
         * 查找一行記錄    
         */     
        public static void getOneRecord (String tableName, String rowKey) throws IOException{      
            HTable table = new HTable(conf, tableName);      
            Get get = new Get(rowKey.getBytes());      
            Result rs = table.get(get);      
            for(KeyValue kv : rs.raw()){      
                System.out.print(new String(kv.getRow()) + " " );      
                System.out.print(new String(kv.getFamily()) + ":" );      
                System.out.print(new String(kv.getQualifier()) + " " );      
                System.out.print(kv.getTimestamp() + " " );      
                System.out.println(new String(kv.getValue()));      
            }      
        }      
               
        /**    
         * 顯示所有數(shù)據(jù)    
         */     
        public static void getAllRecord (String tableName) {      
            try{      
                 HTable table = new HTable(conf, tableName);      
                 Scan s = new Scan();      
                 ResultScanner ss = table.getScanner(s);      
                 for(Result r:ss){      
                     for(KeyValue kv : r.raw()){      
                        System.out.print(new String(kv.getRow()) + " ");      
                        System.out.print(new String(kv.getFamily()) + ":");      
                        System.out.print(new String(kv.getQualifier()) + " ");      
                        System.out.print(kv.getTimestamp() + " ");      
                        System.out.println(new String(kv.getValue()));      
                     }      
                 }      
            } catch (IOException e){      
                e.printStackTrace();      
            }      
        }      
              
        public static void  main (String [] agrs) {      
            try {      
                String tablename = "scores";      
                String[] familys = {"grade", "course"};      
                HBaseTest.creatTable(tablename, familys);      
                       
                //add record zkb      
                HBaseTest.addRecord(tablename,"zkb","grade","","5");      
                HBaseTest.addRecord(tablename,"zkb","course","","90");      
                HBaseTest.addRecord(tablename,"zkb","course","math","97");      
                HBaseTest.addRecord(tablename,"zkb","course","art","87");      
                //add record  baoniu      
                HBaseTest.addRecord(tablename,"baoniu","grade","","4");      
                HBaseTest.addRecord(tablename,"baoniu","course","math","89");      
                       
                System.out.println("===========get one record========");      
                HBaseTest.getOneRecord(tablename, "zkb");      
                       
                System.out.println("===========show all record========");      
                HBaseTest.getAllRecord(tablename);      
                       
                System.out.println("===========del one record========");      
                HBaseTest.delRecord(tablename, "baoniu");      
                HBaseTest.getAllRecord(tablename);      
                       
                System.out.println("===========show all record========");      
                HBaseTest.getAllRecord(tablename);      
            } catch (Exception e) {      
                e.printStackTrace();      
            }      
        }      
    }   


    本文出自:億恩科技【mszdt.com】

    服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線