<th id="wu2k2"><s id="wu2k2"></s></th> <blockquote id="wu2k2"></blockquote>
  • <tr id="wu2k2"></tr>
  • <samp id="wu2k2"><tbody id="wu2k2"></tbody></samp><samp id="wu2k2"><tbody id="wu2k2"></tbody></samp>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    hbase java

    文檔

    hbase java

    HBase是一個分布式的、面向列的開源數據庫,具有高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。
    推薦度:
    導讀HBase是一個分布式的、面向列的開源數據庫,具有高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。

    hbase java是什么,讓我們一起了解一下?

    HBase是一個分布式的、面向列的開源數據庫,具有高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。

    如何使用JAVA語言操作Hbase、整合Hbase?

    可分為五步驟:

    步驟1:新創建一個Java Project?。

    步驟2:導入JAR包,在工程根目錄下新建一個“lib”文件夾,將官方文檔中的lib目錄下的jar全部導入。

    步驟3:修改開發機的hosts文件,在文件莫為增加一行虛擬機IP的映射信息。

    步驟4:修改虛擬機的配置文件,修改虛擬機的設備名稱,名稱需要與之前兩個配置文件的映射名稱一致。

    步驟5:實現查詢、新建、刪除等。

    案例代碼展示如下:

    package?hbase;
    import?java.io.IOException;
    import?java.util.ArrayList;
    import?java.util.List;
    import?org.apache.hadoop.conf.Configuration;
    import?org.apache.hadoop.hbase.Cell;
    import?org.apache.hadoop.hbase.HBaseConfiguration;
    import?org.apache.hadoop.hbase.HColumnDescriptor;
    import?org.apache.hadoop.hbase.HTableDescriptor;
    import?org.apache.hadoop.hbase.TableName;
    import?org.apache.hadoop.hbase.client.Admin;
    import?org.apache.hadoop.hbase.client.Connection;
    import?org.apache.hadoop.hbase.client.ConnectionFactory;
    import?org.apache.hadoop.hbase.client.Delete;
    import?org.apache.hadoop.hbase.client.Get;
    import?org.apache.hadoop.hbase.client.Put;
    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.Table;
    import?org.apache.hadoop.hbase.exceptions.DeserializationException;
    import?org.apache.hadoop.hbase.filter.Filter;
    import?org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
    import?org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
    import?org.apache.hadoop.hbase.util.Bytes;
    import?org.junit.Before;
    import?org.junit.Test;
    public?class?HBaseDemo?{
    //?與HBase數據庫的連接對象
    Connection?connection;
    //?數據庫元數據操作對象
    Admin?admin;
    @Before
    public?void?setUp()?throws?Exception?{
    //?取得一個數據庫連接的配置參數對象
    Configuration?conf?=?HBaseConfiguration.create();
    //?設置連接參數:HBase數據庫所在的主機IP
    conf.set("hbase.zookeeper.quorum",?"192.168.137.13");
    //?設置連接參數:HBase數據庫使用的端口
    conf.set("hbase.zookeeper.property.clientPort",?"2181");
    //?取得一個數據庫連接對象
    connection?=?ConnectionFactory.createConnection(conf);
    //?取得一個數據庫元數據操作對象
    admin?=?connection.getAdmin();
    }
    /**
    ????*?創建表
    ????*/
    public?void?createTable()?throws?IOException{
    System.out.println("---------------創建表?START-----------------");
    //?數據表表名
    String?tableNameString?=?"t_book";
    //?新建一個數據表表名對象
    TableName?tableName?=?TableName.valueOf(tableNameString);
    //?如果需要新建的表已經存在
    if(admin.tableExists(tableName)){
    System.out.println("表已經存在!");
    }
    //?如果需要新建的表不存在
    else{
    //?數據表描述對象
    HTableDescriptor?hTableDescriptor?=?new?HTableDescriptor(tableName);
    //?列族描述對象
    HColumnDescriptor?family=?new?HColumnDescriptor("base");;
    //?在數據表中新建一個列族
    hTableDescriptor.addFamily(family);
    //?新建數據表
    admin.createTable(hTableDescriptor);
    }
    System.out.println("---------------創建表?END-----------------");
    }
    /**
    ????*?查詢整表數據
    ????*/
    @Test
    public?void?queryTable()?throws?IOException{
    System.out.println("---------------查詢整表數據?START-----------------");
    //?取得數據表對象
    Table?table?=?connection.getTable(TableName.valueOf("t_book"));
    //?取得表中所有數據
    ResultScanner?scanner?=?table.getScanner(new?Scan());
    //?循環輸出表中的數據
    for?(Result?result?:?scanner)?{
    byte[]?row?=?result.getRow();
    System.out.println("row?key?is:"?+?new?String(row));
    List?listCells?=?result.listCells();
    for?(Cell?cell?:?listCells)?{
    byte[]?familyArray?=?cell.getFamilyArray();
    byte[]?qualifierArray?=?cell.getQualifierArray();
    byte[]?valueArray?=?cell.getValueArray();
    System.out.println("row?value?is:"?+?new?String(familyArray)?+?new?String(qualifierArray)
    +?new?String(valueArray));
    }
    }
    System.out.println("---------------查詢整表數據?END-----------------");
    }
    /**
    ????*?按行鍵查詢表數據
    ????*/
    @Test
    public?void?queryTableByRowKey()?throws?IOException{
    System.out.println("---------------按行鍵查詢表數據?START-----------------");
    //?取得數據表對象
    Table?table?=?connection.getTable(TableName.valueOf("t_book"));
    //?新建一個查詢對象作為查詢條件
    Get?get?=?new?Get("row8".getBytes());
    //?按行鍵查詢數據
    Result?result?=?table.get(get);
    byte[]?row?=?result.getRow();
    System.out.println("row?key?is:"?+?new?String(row));
    List?listCells?=?result.listCells();
    for?(Cell?cell?:?listCells)?{
    byte[]?familyArray?=?cell.getFamilyArray();
    byte[]?qualifierArray?=?cell.getQualifierArray();
    byte[]?valueArray?=?cell.getValueArray();
    System.out.println("row?value?is:"?+?new?String(familyArray)?+?new?String(qualifierArray)
    +?new?String(valueArray));
    }
    System.out.println("---------------按行鍵查詢表數據?END-----------------");
    }
    /**
    ????*?按條件查詢表數據
    ????*/
    @Test
    public?void?queryTableByCondition()?throws?IOException{
    System.out.println("---------------按條件查詢表數據?START-----------------");
    //?取得數據表對象
    Table?table?=?connection.getTable(TableName.valueOf("t_book"));
    //?創建一個查詢過濾器
    Filter?filter?=?new?SingleColumnValueFilter(Bytes.toBytes("base"),?Bytes.toBytes("name"),
    CompareOp.EQUAL,?Bytes.toBytes("bookName6"));
    //?創建一個數據表掃描器
    Scan?scan?=?new?Scan();
    //?將查詢過濾器加入到數據表掃描器對象
    scan.setFilter(filter);
    //?執行查詢操作,并取得查詢結果
    ResultScanner?scanner?=?table.getScanner(scan);
    //?循環輸出查詢結果
    for?(Result?result?:?scanner)?{
    byte[]?row?=?result.getRow();
    System.out.println("row?key?is:"?+?new?String(row));
    List?listCells?=?result.listCells();
    for?(Cell?cell?:?listCells)?{
    byte[]?familyArray?=?cell.getFamilyArray();
    byte[]?qualifierArray?=?cell.getQualifierArray();
    byte[]?valueArray?=?cell.getValueArray();
    System.out.println("row?value?is:"?+?new?String(familyArray)?+?new?String(qualifierArray)
    +?new?String(valueArray));
    }
    }
    System.out.println("---------------按條件查詢表數據?END-----------------");
    }
    /**
    ????*?清空表
    ????*/
    @Test
    public?void?truncateTable()?throws?IOException{
    System.out.println("---------------清空表?START-----------------");
    //?取得目標數據表的表名對象
    TableName?tableName?=?TableName.valueOf("t_book");
    //?設置表狀態為無效
    admin.disableTable(tableName);
    //?清空指定表的數據
    admin.truncateTable(tableName,?true);
    System.out.println("---------------清空表?End-----------------");
    }
    /**
    ????*?刪除表
    ????*/
    @Test
    public?void?deleteTable()?throws?IOException{
    System.out.println("---------------刪除表?START-----------------");
    //?設置表狀態為無效
    admin.disableTable(TableName.valueOf("t_book"));
    //?刪除指定的數據表
    admin.deleteTable(TableName.valueOf("t_book"));
    System.out.println("---------------刪除表?End-----------------");
    }
    /**
    ????*?刪除行
    ????*/
    @Test
    public?void?deleteByRowKey()?throws?IOException{
    System.out.println("---------------刪除行?START-----------------");
    //?取得待操作的數據表對象
    Table?table?=?connection.getTable(TableName.valueOf("t_book"));
    //?創建刪除條件對象
    Delete?delete?=?new?Delete(Bytes.toBytes("row2"));
    //?執行刪除操作
    table.delete(delete);
    System.out.println("---------------刪除行?End-----------------");
    }
    /**
    ????*?刪除行(按條件)
    ????*/
    @Test
    public?void?deleteByCondition()?throws?IOException,?DeserializationException{
    System.out.println("---------------刪除行(按條件)?START-----------------");
    //?步驟1:調用queryTableByCondition()方法取得需要刪除的數據列表
    //?步驟2:循環步驟1的查詢結果,對每個結果調用deleteByRowKey()方法
    System.out.println("---------------刪除行(按條件)?End-----------------");
    }
    /**
    ????*?新建列族
    ????*/
    @Test
    public?void?addColumnFamily()?throws?IOException{
    System.out.println("---------------新建列族?START-----------------");
    //?取得目標數據表的表名對象
    TableName?tableName?=?TableName.valueOf("t_book");
    //?創建列族對象
    HColumnDescriptor?columnDescriptor?=?new?HColumnDescriptor("more");
    //?將新創建的列族添加到指定的數據表
    admin.addColumn(tableName,?columnDescriptor);
    System.out.println("---------------新建列族?END-----------------");
    }
    /**
    ????*?刪除列族
    ????*/
    @Test
    public?void?deleteColumnFamily()?throws?IOException{
    System.out.println("---------------刪除列族?START-----------------");
    //?取得目標數據表的表名對象
    TableName?tableName?=?TableName.valueOf("t_book");
    //?刪除指定數據表中的指定列族
    admin.deleteColumn(tableName,?"more".getBytes());
    System.out.println("---------------刪除列族?END-----------------");
    }
    /**
    ????*?插入數據
    ????*/
    @Test
    public?void?insert()?throws?IOException{
    System.out.println("---------------插入數據?START-----------------");
    //?取得一個數據表對象
    Table?table?=?connection.getTable(TableName.valueOf("t_book"));
    //?需要插入數據庫的數據集合
    List?putList?=?new?ArrayList();
    Put?put;
    //?生成數據集合
    for(int?i?=?0;?i?

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    hbase java

    HBase是一個分布式的、面向列的開源數據庫,具有高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    hibernate java hotspot java idea創建java idea創建普通java項目 idea怎么建立java idea編寫java程序 influxdb java instance java instant java integer java interface java iterator java 鐵觀音產地是哪個地方 java -ea 南極洲有哪些國家 行程碼帶*號什么意思 祁連山在哪個省境內 idea新建java項目 java -xms java 32bit guava java groupby java grep java golang調用java glue java geojson java geohash java gdb java gdal java gateway java for循環java foreach java field java 愛奇藝黃金會員和星鉆會員的區別 false是java關鍵字嗎 extends java extend java excel讀取java enum java 小程序和app的區別
    Top 久久精品人人做人人爽97| heyzo高无码国产精品| 99亚洲精品高清一二区| 最新精品国偷自产在线| 日韩精品视频在线播放| 国产精品亚洲аv无码播放| 亚洲国产精品无码中文lv| 99精品久久久久中文字幕| 国产精品反差婊在线观看| 99这里只精品热在线获取| 国产99视频精品免视看9| 国产精品久久无码一区二区三区网| 国自产偷精品不卡在线| www国产亚洲精品久久久| 国产精品老女人精品视| 日韩精品内射视频免费观看| 亚洲国产精品尤物yw在线| 亚洲欧洲日本精品| 无码国产精品一区二区免费式芒果| 中文字幕精品无码一区二区| 亚洲精品国产精品乱码不卞 | 99国产精品无码| 老司机亚洲精品影院| 久热中文字幕在线精品首页| 亚洲精品二区国产综合野狼| 国内精品久久久久久中文字幕| 国产精品亚洲玖玖玖在线观看 | 91精品国产自产在线观看永久∴| 亚洲AV永久纯肉无码精品动漫 | 国产精品国产三级国产AV′| 思思久久96热在精品国产| 国产精品嫩草影院一二三区入口| 亚洲精品国产手机| 91精品国产免费网站| 亚洲精品午夜在线观看| 久久精品国产乱子伦| 国产精品视频yuojizz| 精品久久久久久无码不卡| 久久99久久99精品免观看| 久久精品国产亚洲夜色AV网站| 亚洲AV无码国产精品麻豆天美 |