<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 精品人妻一区二区三区四区在线| 91自产拍在线观看精品| 成人精品一区二区三区校园激情| 国产成人vr精品a视频| freesexvideos精品老师毛多| 国产精品久久久香蕉| 99久久精品美女高潮喷水| 国产啪精品视频网站| 无码国模国产在线无码精品国产自在久国产 | 国产亚洲精品第一综合| 琪琪精品视频在线观看| 久久婷婷国产综合精品| 精品国产污污免费网站| 久久这里有精品视频| 日韩精品一二三四区| 日韩精品一区二区三区中文3d| 孩交videos精品乱子豆奶视频| 99精品视频观看| 日韩精品在线一区二区| 91精品在线播放| 国产精品亚洲精品日韩已方| 国产成人精品999在线| 四虎影视成人精品| 国产精品白丝AV在线观看播放| 精品国产sm捆绑最大网免费站| 久久永久免费人妻精品下载| 国产精品伦一区二区三级视频| 日韩精品无码免费专区网站| 中文字幕精品无码一区二区| 久久精品国产亚洲5555| 国产高清一级毛片精品| 日本精品久久久久影院日本| 成人精品视频在线观看| 尤物TV国产精品看片在线| 国产大陆亚洲精品国产| 国产成人精品免费视频大全五级 | 中文国产成人精品久久96| 久久久精品国产Sm最大网站| 国产香蕉国产精品偷在线观看 | 精品无码久久久久国产| 91热久久免费精品99|