目錄
前言
第1章 大數據時代的必然產物——HBase
1.1 HBase的發展歷程
1.2 HBase的特徵
1.3 HBase的優缺點
1.3.1 HBase的優點
1.3.2 HBase的缺點
1.4 HBase與關係資料庫的區別
1.5 使用HBase的時機
1.6 HBase的應用場景
1.7 HBase的數據模型
1.8 HBase的邏輯視圖
第2章 HBase基本架構與快速入門
2.1 HBase基本架構
2.2 HBase分散式環境搭建
2.2.1 設置伺服器名稱
2.2.2 Hadoop單機安裝
2.2.3 Hadoop集群安裝
2.2.4 ZooKeeper集群安裝
2.2.5 HBase集群安裝
2.3 HBase容器化技術搭建
2.3.1 CentOS環境下安裝Docker
2.3.2 Windows 10環境下安裝Docker
2.3.3 利用Docker安裝HBase
2.4 HBase快速入門
2.4.1 使用HBase Shell
2.4.2 使用create命令
2.4.3 使用alter命令
2.4.4 使用list命令
2.4.5 使用describe命令
2.4.6 使用put命令
2.4.7 使用get命令
2.4.8 使用scan命令
2.4.9 使用deleteall命令
第3章 HBase基本操作
3.1 help命令
3.2 常規命令
3.2.1 查詢集群狀態信息(status命令)
3.2.2 查看如何操作表(table_help命令)
3.2.3 查詢HBase版本信息(version命令)
3.2.4 查看當前用戶(whoami命令)
3.2.5 查看進程列表(processlist命令)
3.3 DDL命令
3.3.1 創建表(create命令)
3.3.2 修改表信息(alter命令)
3.3.3 非同步修改表信息(alter_async命令)
3.3.4 獲取表的詳細信息(describe命令)
3.3.5 獲取HBase中所有的表(list命令)
3.3.6 判斷表是否存在(exists命令)
3.3.7 以對象的方式操作表(get_table命令)
3.3.8 啟用表(enable命令)
3.3.9 啟用所有滿足正則表達式的表(enable_all命令)
3.3.10 判斷表是否被啟用(is_enabled命令)
3.3.11 禁用表(disable命令)
3.3.12 禁用所有滿足正則表達式的表(disable_all命令)
3.3.13 判斷表是否被禁用(is_disabled命令)
3.3.14 刪除表(drop命令)
3.3.15 刪除所有滿足正則表達式的表(drop_all命令)
3.3.16 獲取RowKey所在的區域(locate_region命令)
3.3.17 顯示HBase支持的過濾器(show_filters命令)
3.4 命名空間
3.4.1 創建命名空間(create_namespace命令)
3.4.2 修改命名空間(alter_namespace命令)
3.4.3 獲取命名空間詳情(describe_namespace命令)
3.4.4 獲取命名空間下所有表的名稱(list_namespace_tables命令)
3.4.5 獲取所有的命名空間(list_namespace命令)
3.4.6 刪除命名空間(drop_namespace命令)
3.5 DML命令
3.5.1 新增或者修改數據(put命令)
3.5.2 全表掃描數據(scan命令)
3.5.3 獲取表中數據的總行數(count命令)
3.5.4 獲取表中的數據(get命令)
3.5.5 刪除列族中的某個列(delete命令)
3.5.6 刪除整行數據(delete命令)
3.5.7 列值自增(incr命令)
3.5.8 獲取自增后的列值(get_counter命令)
3.5.9 獲取表所對應的Region數量(get_splits命令)
3.5.10 清空整個表數據,不保留分區(truncat命令)
3.5.11 清空整個表數據,保留分區(truncat_preserve命令)
第4章 Java對接HBase
4.1 從「HelloWorld」開始
4.2 創建表
4.3 添加數據
4.4 批量添加數據
4.5 內容追加
4.6 修改數據
4.7 刪除數據
4.8 批量刪除
4.9 原子性操作
4.10 批量操作
4.11 自增
4.12 判斷數據是否存在
4.13 代碼封裝
第5章 客戶端API進階
5.1 數據查詢
5.2 數據掃描
5.3 過濾器快速實戰
5.4 RowKey過濾器
5.5 RowKey前綴過濾器
5.6 RowKey模糊過濾器
5.7 列族過濾器
5.8 列過濾器
5.9 多列前綴過濾器
5.10 首次列鍵過濾器
5.11 列鍵過濾器
5.12 列值過濾器
5.13 單列值過濾器
5.14 列值排除過濾器
5.15 隨機行過濾器
5.16 分頁過濾器
5.17 多個過濾器綜合查詢
第6章 HBase批量載入
6.1 HBase批量載入簡介
6.2 海量交易記錄數據存儲案例
6.2.1 案例開發準備工作
6.2.2 編寫實體類
6.2.3 創建讀取數據的Mapper類
6.2.4 編寫驅動類
6.2.5 上傳數據到HDFS
6.2.6 將導入的HDFS數據與HBase進行關聯
第7章 協處理器
7.1 協處理器簡介
7.2 協處理器分類
7.3 Coprocessor介面
7.4 協處理器的載入
7.4.1 使用配置文件載入
7.4.2 從表描述器中載入
7.5 RegionObserver類
7.5.1 Region狀態
7.5.2 處理客戶端API事件
7.6 自定義Observer案例
第8章 Phoenix在HBase中的整合應用
8.1 Phoenix簡介
8.2 安裝Phoenix
8.2.1 下載
8.2.2 安裝
8.3 連接Phoenix
8.4 Phoenix快速入門
8.4.1 創建表
8.4.2 刪除表
8.4.3 插入數據
8.4.4 分頁查詢
第9章 HBase架構原理解析
9.1 HBase架構原理
9.1.1 RegionServer流程解析
9.1.2 StoreFile和HFile結構
9.1.3 MemStore和StoreFile
9.2 HBase寫流程
9.3 HBase讀流程
9.4 HBase如何進行增刪改查
9.5 數據刷寫
9.5.1 刷寫操作的觸發時機
9.5.2 刷寫流程
9.6 數據合併
9.7 數據拆分
第10章 HBase性能優化
10.1 表設計優化
10.1.1 預分區
10