這篇文章主要介紹了Hbase如何使用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
10年積累的成都網站建設、成都做網站經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有哈爾濱免費網站建設讓你可以放心的選擇與我們合作。
與MySQL 對比:
1 創建表 只需要指定famliy 列族,不需要指定具體的列以及類型
@PostConstruct
public boolean createTable() {
log.info("create table start");
TableName tableName = TableName.valueOf(this.getTableName());
try {
Admin admin = connection.getAdmin();
if (!admin.tableExists(tableName)) {
log.info(tableName.toString() + "is not exist,create it");
HTableDescriptor tdesc = new HTableDescriptor(tableName);
HColumnDescriptor colDesc =newHColumnDescriptor(FAMILY);
tdesc.addFamily(colDesc);
admin.createTable(tdesc);
admin.close();
}
log.info("create table end");
return true;
} catch ( IOException e) {
log.error("create table error {} {}", tableName, e.getLocalizedMessage());
return false;
}
}
2 存儲數據格式 HBASE value全部采用byte[] 字節數據形式存儲
優勢:1 不需要提前處理數據類型 統一采用 Bytes.toByte()so 存儲速度更高
2 與原始數據類型相比,序列化后的byte[] 形式存儲可以節省字節
3 可以根據rowKey 進行范圍查找,這個需要將rowKey設計得當。
@Override
public List<T> getByRange(String start, String end) {
try {
Table table = connection.getTable(TableName.valueOf(getTableName()));
Scan scan = new Scan();
scan.withStartRow(start.getBytes(), true)
.withStopRow(end.getBytes(), true);
ResultScanner scanner = table.getScanner(scan);
List<T> list = new ArrayList<>();
for (Result result : scanner) {
list.add(getObj(result));
}
return list;
} catch (Exception e) {
log.error("HBase批量獲取數據失敗", e);
}
return Collections.emptyList();}
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Hbase如何使用”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!
新聞名稱:Hbase如何使用
文章地址:http://m.newbst.com/article8/jeehip.html
成都網站建設公司_創新互聯,為您提供電子商務、品牌網站建設、定制網站、網站設計、品牌網站制作、網站收錄
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯