<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      HBase Java客戶端編程

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

      1. 準備工作

      1、下載后安裝jdk包(這里使用的是jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008);

      2、下載eclipse,解壓到本地(這里使用的是eclipse-java-helios-SR2-win32);

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

      2. 搭建開發環境

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

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

       1 <configuration>
      2 <property>
      3 <name>hbase.rootdir</name>
      4 <value>hdfs://hostname:9000/hbase</value>
      5 </property>
      6 <property>
      7 <name>hbase.cluster.distributed</name>
      8 <value>true</value>
      9 </property>
      10 <property>
      11 <name>hbase.zookeeper.quorum</name>
      12 <value>*.*.*.*, *.*.*.*, *.*.*.*</value>
      13 </property>
      14 <property skipInDoc="true">
      15 <name>hbase.defaults.for.version</name>
      16 <value>0.90.2</value>
      17 </property>
      18 </configuration>

      3、下面可以在Eclipse環境下進行HBase編程了。

      3. HBase基本操作代碼示例

      3.1 初始化配置

      1 privatestatic Configuration conf =null;
      2 /**
      3 * 初始化配置
      4 */
      5 static {
      6 conf = HBaseConfiguration.create();
      7 }

      3.2 創建表

       1 /**
      2 * 創建表操作
      3 * @throws IOException
      4 */
      5 publicvoid createTable(String tablename, String[] cfs) throws IOException {
      6 HBaseAdmin admin =new HBaseAdmin(conf);
      7 if (admin.tableExists(tablename)) {
      8 System.out.println("表已經存在!");
      9 }
      10 else {
      11 HTableDescriptor tableDesc =new HTableDescriptor(tablename);
      12 for (int i =0; i < cfs.length; i++) {
      13 tableDesc.addFamily(new HColumnDescriptor(cfs[i]));
      14 }
      15 admin.createTable(tableDesc);
      16 System.out.println("表創建成功!");
      17 }
      18 }

      3.3 刪除表

       1 /**
      2 * 刪除表操作
      3 * @param tablename
      4 * @throws IOException
      5 */
      6 publicvoid deleteTable(String tablename) throws IOException {
      7 try {
      8 HBaseAdmin admin =new HBaseAdmin(conf);
      9 admin.disableTable(tablename);
      10 admin.deleteTable(tablename);
      11 System.out.println("表刪除成功!");
      12 } catch (MasterNotRunningException e) {
      13 e.printStackTrace();
      14 } catch (ZooKeeperConnectionException e) {
      15 e.printStackTrace();
      16 }
      17 }

      3.4 插入一行記錄

       1 /**
      2 * 插入一行記錄
      3 * @param tablename
      4 * @param cfs
      5 */
      6 publicvoid writeRow(String tablename, String[] cfs) {
      7 try {
      8 HTable table =new HTable(conf, tablename);
      9 Put put =new Put(Bytes.toBytes("rows1"));
      10 for (int j =0; j < cfs.length; j++) {
      11 put.add(Bytes.toBytes(cfs[j]),
      12 Bytes.toBytes(String.valueOf(1)),
      13 Bytes.toBytes("value_1"));
      14 table.put(put);
      15 }
      16 } catch (IOException e) {
      17 e.printStackTrace();
      18 }
      19 }

      3.5 刪除一行記錄

       1 /**
      2 * 刪除一行記錄
      3 * @param tablename
      4 * @param rowkey
      5 * @throws IOException
      6 */
      7 publicvoid deleteRow(String tablename, String rowkey) throws IOException {
      8 HTable table =new HTable(conf, tablename);
      9 List list =new ArrayList();
      10 Delete d1 =new Delete(rowkey.getBytes());
      11 list.add(d1);
      12 table.delete(list);
      13 System.out.println("刪除行成功!");
      14 }

      3.6 查找一行記錄

       1 /**
      2 * 查找一行記錄
      3 * @param tablename
      4 * @param rowkey
      5 */
      6 publicstaticvoid selectRow(String tablename, String rowKey)
      7 throws IOException {
      8 HTable table =new HTable(conf, tablename);
      9 Get g =new Get(rowKey.getBytes());
      10 Result rs = table.get(g);
      11 for (KeyValue kv : rs.raw()) {
      12 System.out.print(new String(kv.getRow()) +"");
      13 System.out.print(new String(kv.getFamily()) +":");
      14 System.out.print(new String(kv.getQualifier()) +"");
      15 System.out.print(kv.getTimestamp() +"");
      16 System.out.println(new String(kv.getValue()));
      17 }
      18 }

      3.7 查詢表中所有行

       1 /**
      2 * 查詢表中所有行
      3 * @param tablename
      4 */
      5 publicvoid scaner(String tablename) {
      6 try {
      7 HTable table =new HTable(conf, tablename);
      8 Scan s =new Scan();
      9 ResultScanner rs = table.getScanner(s);
      10 for (Result r : rs) {
      11 KeyValue[] kv = r.raw();
      12 for (int i =0; i < kv.length; i++) {
      13 System.out.print(new String(kv[i].getRow()) +"");
      14 System.out.print(new String(kv[i].getFamily()) +":");
      15 System.out.print(new String(kv[i].getQualifier()) +"");
      16 System.out.print(kv[i].getTimestamp() +"");
      17 System.out.println(new String(kv[i].getValue()));
      18 }
      19 }
      20 } catch (IOException e) {
      21 e.printStackTrace();
      22 }
      23 }

      posted on 2011-08-14 15:40  大圓那些事  閱讀(23945)  評論(7)    收藏  舉報

      導航

      主站蜘蛛池模板: 国产精品进线69影院| 一本高清码二区三区不卡| 亚洲精品无码久久久影院相关影片| 在线a亚洲v天堂网2018| 保亭| 久久精品国产亚洲夜色av| 亚洲成av人片无码天堂下载| 中文 在线 日韩 亚洲 欧美| 精品无套挺进少妇内谢| 国产偷窥熟女高潮精品视频| 99精品久久免费精品久久| 啪啪av一区二区三区| 国产人妻高清国产拍精品| 阿城市| 国产麻豆成人传媒免费观看| 欧美亚洲另类自拍偷在线拍| 久久不见久久见www日本| 国内熟妇与亚洲洲熟妇妇| 91久久夜色精品国产网站| 蜜桃一区二区三区免费看| 平遥县| 成人av午夜在线观看| 国产最大成人亚洲精品| 人妻夜夜爽天天爽三区丁香花 | 四虎在线成人免费观看| 97人人添人人澡人人澡人人澡| 天堂av资源在线免费| 福利网午夜视频一区二区| 国产jizzjizz视频| 黑人大战中国av女叫惨了| 日韩一级伦理片一区二区| 国产亚洲精品AA片在线爽| 不卡AV中文字幕手机看| 亚洲精品韩国一区二区| 四虎永久在线精品无码视频| 欧美亚洲精品中文字幕乱码| 新乡市| 婷婷久久综合九色综合88| 99www久久综合久久爱com| 亚洲更新最快无码视频| 色老头亚洲成人免费影院|