HBase應(yīng)用實戰(zhàn)與性能調(diào)優(yōu)
定 價:69 元
- 作者:張文亮 編著
- 出版時間:2022/7/1
- ISBN:9787111707356
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP393
- 頁碼:214
- 紙張:
- 版次:
- 開本:16
HBase是一個高可靠、高性能、面向列、可伸縮的分布式存儲系統(tǒng)。利用HBase技術(shù)可以在廉價的PC服務(wù)器上搭建大規(guī)模的存儲化集群,可以對數(shù)十億級別的大數(shù)據(jù)進行實時性的高性能讀寫,在滿足高性能的同時還保證了數(shù)據(jù)存取的原子性。
本書由淺入深地講解HBase的概念、安裝、配置、部署、高級用法、性能調(diào)優(yōu),內(nèi)容既兼顧了初學者,也適用于想要深入學習HBase的讀者。
本書適用于以前沒有接觸過HBase,或者對HBase有所了解并希望深入學習的讀者,同時適用于HBase應(yīng)用開發(fā)人員和系統(tǒng)管理人員。不管你是HBase新手還是HBase專家,相信都能從本書中有所收獲。
前言
第1章 大數(shù)據(jù)時代的必然產(chǎn)物—HBase 1
1.1 HBase的發(fā)展歷程 1
1.2 HBase的特征 2
1.3 HBase的優(yōu)缺點 2
1.3.1 HBase的優(yōu)點 2
1.3.2 HBase的缺點 3
1.4 HBase與關(guān)系數(shù)據(jù)庫的區(qū)別 3
1.5 使用HBase的時機 4
1.6 HBase的應(yīng)用場景 4
1.7 HBase的數(shù)據(jù)模型 7
1.8 HBase的邏輯視圖 10
第2章 HBase基本架構(gòu)與快速入門 11
2.1 HBase基本架構(gòu) 11
2.2 HBase分布式環(huán)境搭建 14
2.2.1 設(shè)置服務(wù)器名稱 14
2.2.2 Hadoop單機安裝 15
2.2.3 Hadoop集群安裝 20
2.2.4 ZooKeeper集群安裝 28
2.2.5 HBase集群安裝 31
2.3 HBase容器化技術(shù)搭建 34
2.3.1 CentOS環(huán)境下安裝Docker 34
2.3.2 Windows 10環(huán)境下安裝Docker 35
2.3.3 利用Docker安裝HBase 37
2.4 HBase快速入門 39
2.4.1 使用HBase Shell 39
2.4.2 使用create命令 40
2.4.3 使用alter命令 40
2.4.4 使用list命令 40
2.4.5 使用describe命令 41
2.4.6 使用put命令 42
2.4.7 使用get命令 42
2.4.8 使用scan命令 43
2.4.9 使用deleteall命令 43
第3章 HBase基本操作 44
3.1 help命令 44
3.2 常規(guī)命令 47
3.2.1 查詢集群狀態(tài)信息(status命令) 47
3.2.2 查看如何操作表(table_help命令) 48
3.2.3 查詢HBase版本信息(version命令) 49
3.2.4 查看當前用戶(whoami命令) 50
3.2.5 查看進程列表(processlist命令) 50
3.3 DDL命令 50
3.3.1 創(chuàng)建表(create命令) 51
3.3.2 修改表信息(alter命令) 52
3.3.3 異步修改表信息(alter_async命令) 55
3.3.4 獲取表的詳細信息(describe命令) 56
3.3.5 獲取HBase中所有的表(list命令) 57
3.3.6 判斷表是否存在(exists命令) 57
3.3.7 以對象的方式操作表(get_table命令) 58
3.3.8 啟用表(enable命令) 58
3.3.9 啟用所有滿足正則表達式的表(enable_all命令) 59
3.3.10 判斷表是否被啟用(is_enabled命令) 60
3.3.11 禁用表(disable命令) 60
3.3.12 禁用所有滿足正則表達式的表(disable_all命令) 60
3.3.13 判斷表是否被禁用(is_disabled命令) 61
3.3.14 刪除表(drop命令) 62
3.3.15 刪除所有滿足正則表達式的表(drop_all命令) 62
3.3.16 獲取RowKey所在的區(qū)域(locate_region命令) 63
3.3.17 顯示HBase支持的過濾器(show_filters命令) 64
3.4 命名空間 65
3.4.1 創(chuàng)建命名空間(create_namespace命令) 65
3.4.2 修改命名空間(alter_namespace命令) 65
3.4.3 獲取命名空間詳情(describe_namespace命令) 66
3.4.4 獲取命名空間下所有表的名稱(list_namespace_tables命令) 66
3.4.5 獲取所有的命名空間(list_namespace命令) 66
3.4.6 刪除命名空間(drop_namespace命令) 67
3.5 DML命令 67
3.5.1 新增或者修改數(shù)據(jù)(put命令) 68
3.5.2 全表掃描數(shù)據(jù)(scan命令) 68
3.5.3 獲取表中數(shù)據(jù)的總行數(shù)(count命令) 72
3.5.4 獲取表中的數(shù)據(jù)(get命令) 73
3.5.5 刪除列族中的某個列(delete命令) 75
3.5.6 刪除整行數(shù)據(jù)(delete命令) 76
3.5.7 列值自增(incr命令) 77
3.5.8 獲取自增后的列值(get_counter命令) 78
3.5.9 獲取表所對應(yīng)的Region數(shù)量(get_splits命令) 79
3.5.10 清空整個表數(shù)據(jù),不保留分區(qū)(truncat命令) 79
3.5.11 清空整個表數(shù)據(jù),保留分區(qū)(truncat_ preserve命令) 80
第4章 Java對接HBase 81
4.1 從“HelloWorld”開始 81
4.2 創(chuàng)建表 86
4.3 添加數(shù)據(jù) 91
4.4 批量添加數(shù)據(jù) 96
4.5 內(nèi)容追加 101
4.6 修改數(shù)據(jù) 102
4.7 刪除數(shù)據(jù) 103
4.8 批量刪除 106
4.9 原子性操作 107
4.10 批量操作 109
4.11 自增 111
4.12 判斷數(shù)據(jù)是否存在 112
4.13 代碼封裝 112
第5章 客戶端API進階 127
5.1 數(shù)據(jù)查詢 127
5.2 數(shù)據(jù)掃描 133
5.3 過濾器快速實戰(zhàn) 139
5.4 RowKey過濾器 141
5.5 RowKey前綴過濾器 143
5.6 RowKey模糊過濾器 145
5.7 列族過濾器 146
5.8 列過濾器 147
5.9 多列前綴過濾器 149
5.10 首次列鍵過濾器 150
5.11 列鍵過濾器 150
5.12 列值過濾器 152
5.13 單列值過濾器 153
5.14 列值排除過濾器 157
5.15 隨機行過濾器 159
5.16 分頁過濾器 160
5.17 多個過濾器綜合查詢 162
第6章 HBase批量加載 164
6.1 HBase批量加載簡介 164
6.2 海量交易記錄數(shù)據(jù)存儲案例 165
6.2.1 案例開發(fā)準備工作 165
6.2.2 編寫實體類 166
6.2.3 創(chuàng)建讀取數(shù)據(jù)的Mapper類 169
6.2.4 編寫驅(qū)動類 171
6.2.5 上傳數(shù)據(jù)到HDFS 172
6.2.6 將導(dǎo)入的HDFS數(shù)據(jù)與HBase進行關(guān)聯(lián) 172
第7章 協(xié)處理器 173
7.1 協(xié)處理器簡介 173
7.2 協(xié)處理器分類 174
7.3 Coprocessor接口 174
7.4 協(xié)處理器的加載 176
7.4.1 使用配置文件加載 176
7.4.2 從表描述器中加載 177
7.5 RegionObserver類 178
7.5.1 Region狀態(tài) 186
7.5.2 處理客戶端API事件 187
7.6 自定義Observer案例 188
第8章 Phoenix在HBase中的整合應(yīng)用 190
8.1 Phoenix簡介 190
8.2 安裝Phoenix 191
8.2.1 下載 191
8.2.2 安裝 191
8.3 連接Phoenix 192
8.4 Phoenix快速入門 194
8.4.1 創(chuàng)建表 194
8.4.2 刪除表 196
8.4.3 插入數(shù)據(jù) 196
8.4.4 分頁查詢 196
第9章 HBase架構(gòu)原理解析 197
9.1 HBase架構(gòu)原理 197
9.1.1 RegionServer流程解析 198
9.1.2 StoreFile和HFile結(jié)構(gòu) 199
9.1.3 MemStore和StoreFile 199
9.2 HBase寫流程 200
9.3 HBase讀流程 201
9.4 HBase如何進行增刪改查 202
9.5 數(shù)據(jù)刷寫 202
9.5.1 刷寫操作的觸發(fā)時機 202
9.5.2 刷寫流程 203
9.6 數(shù)據(jù)合并 204
9.7 數(shù)據(jù)拆分 205
第10章 HBase性能優(yōu)化 207
10.1 表設(shè)計優(yōu)化 207
10.1.1 預(yù)分區(qū) 207
10.1.2 RowKey設(shè)計優(yōu)化 209
10.1.3 列族數(shù)量優(yōu)化 210
10.1.4 版本優(yōu)化 210
10.2 HBase提升寫效率 211
10.3 MemStore調(diào)優(yōu) 211
10.4 合并調(diào)優(yōu) 212
10.5 WAL調(diào)優(yōu) 213
10.6 HBase讀取優(yōu)化 214