<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    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 免费精品国产日韩热久久| 热99re久久免费视精品频软件| 久久99精品一区二区三区| 91精品久久久久| 黑巨人与欧美精品一区| 亚洲国产精品无码久久久久久曰| 99精品在线观看| 亚洲嫩草影院久久精品| 国产精品久久亚洲不卡动漫| 国产成人精品午夜福利在线播放 | 国产精品成人精品久久久| 精品国产自在在线在线观看| 无码人妻精品一区二区三区久久| 亚洲精品tv久久久久久久久久| 国产精品成人观看视频国产| 欧洲精品成人免费视频在线观看| 嫩草影院在线观看精品视频| 国产伦精品一区二区三区免.费| 亚洲精品夜夜夜妓女网| 亚洲精品无码mⅴ在线观看| 久久久久国产成人精品亚洲午夜| 久久99精品久久久大学生| 日本精品自产拍在线观看中文 | 久久国产乱子伦精品免费午夜| 精品国产一区二区三区| 中国精品白嫩bbwbbw| 国产成人精品久久综合| 四虎成人精品一区二区免费网站| 国产精品无码AV一区二区三区| 四虎成人精品在永久在线| 国语精品91自产拍在线观看二区 | 国产精品一区二区三区99| 国产精品亚洲片夜色在线| 久久国产成人精品| 九色国产在视频线精品视频| 精品无码成人片一区二区98| 久久精品岛国av一区二区无码| 国产精品久久久久久久伊一| 亚洲精品视频在线播放| 久久午夜无码鲁丝片直播午夜精品| 亚洲精品亚洲人成人网|