目前的購物車是空的!
此商品參與的優惠活動
商品庫存不足留言
編輯推薦從初識HBase到架構原理、基礎操作再到性能優化和實戰案例,本書涵蓋了您所需的全部內容。通過豐富的示例代碼和操作步驟,您將輕鬆掌握HBase的核心概念和操作技巧。無論您是初學者還是有經驗的開發人員,本書都為您提供了實踐經驗和高級用法,幫助您在實際項目中應用HBase並解決問題。深入剖析HBase的底層架構和原理,掌握性能優化的方法和技巧,您將能夠提升HBase的性能和效率。與此同時,通過實戰案例的演示,您將學習如何將HBase應用於實際項目,解決業務需求。本書還配有課後練習,讓您鞏固所學知識,更加直觀地學習和理解HBase。作者是知名的少數跨多領域(JAVA/ NET/Python)的IT佈道師和國內資深架構師,對平台中間件如Kafka、Nginx、ElasticSearch、Redis、MongoDB等有深入的研究和見解。
內容簡介《HBase從入門到實戰》系統介紹HBase基本原理與運行機制,融入了作者多年的開發經驗與實踐技巧。本書共分為11章,主要內容包括:HBase的體繫結構和系統特性、HBase的基礎數據結構與演算法、RegionServer的核心模塊、HBase的讀寫流程、Compaction實現原理和使用策略、負載均衡的實現與應用、HBase的基礎指令(包括DDL指令、DML指令、命名空間指令等)、如何使用Java語言操作HBase、客戶端的高級API的使用(包括各種過濾器的使用和多種過濾器的綜合使用)、通過編寫代碼實現數據的批量載入、HBase的數據讀寫優化和RowKey的設計優化。最後,通過一個章節的實戰,讓讀者對HBase的操作進行複習和鞏固。《HBase從入門到實戰》適用於以前沒有接觸過HBase,或者對HBase有所了解並希望深入學習的讀者。同時,也適用於HBase應用開發人員和系統管理人員,以及對雲計算、大數據處理技術和NoSQL資料庫感興趣的技術人員作為參考書。
作者簡介張文亮,是知名的少數跨多領域(JAVA/ NET/Python)的IT佈道師和國內資深架構師,對平台中間件如Kafka、Nginx、ElasticSearch、Redis、MongoDB等有深入的研究和見解。授課時善於用生活實例來體現抽象概念,知識點講解細緻透徹,能夠構建系統知識體系,深受廣大學員喜愛。著作包括《大數據高併發Redis一本通》《ElasticSearch全面解析與開發實踐》《MySQL入門到實戰》等。
目錄第1章 初識HBase 11 1 HBase的發展歷程 11 2 HBase的特徵 21 3 HBase的優缺點 21 3 1 HBase的優點 21 3 2 HBase的缺點 31 4 HBase與關係資料庫的區別 31 5 使用HBase的時機 41 6 HBase的應用場景 51 7 HBase的數據模型 71 8 HBase的邏輯視圖 101 9 本章練習 11第2章 讓HBase運行起來 122 1 HBase基本架構 122 2 HBase分散式環境搭建 152 2 1 設置伺服器名稱 152 2 2 Hadoop單機安裝 162 2 3 Hadoop集群安裝 212 2 4 ZooKeeper集群安裝 292 2 5 HBase集群安裝 322 3 使用容器化技術搭建HBase 352 3 1 在CentOS環境下安裝Docker 352 3 2 在Windows 10環境下安裝Docker 372 3 3 利用Docker安裝HBase 382 4 HBase快速入門 402 4 1 使用HBase Shell 402 4 2 使用create命令 412 4 3 使用alter命令 412 4 4 使用list命令 412 4 5 使用describe命令 422 4 6 使用put命令 432 4 7 使用get命令 432 4 8 使用scan命令 442 4 9 使用deleteall命令 442 5 本章練習 45第3章 HBase基礎操作 463 1 help命令 463 2 常規命令 493 2 1 查詢集群狀態信息(status命令) 493 2 2 查看如何操作表(table_help命令) 513 2 3 查詢HBase的版本信息(version命令) 523 2 4 查看當前用戶(whoami命令) 523 2 5 查看進程列表(processlist命令) 523 3 DDL命令 533 3 1 創建表(create命令) 533 3 2 修改表信息(alter命令) 543 3 3 非同步修改表信息(alter_async命令) 573 3 4 獲取表的詳細信息(describe命令) 583 3 5 獲取HBase中所有的表(list命令) 593 3 6 判斷表是否存在(exists命令) 603 3 7 以對象的方式操作表(get_table命令) 603 3 8 啟用表(enable命令) 613 3 9 啟用所有滿足正則表達式的表(enable_all命令) 623 3 10 判斷表是否被啟用(is_enabled命令) 633 3 11 禁用表(disable命令) 633 3 12 禁用所有滿足正則表達式的表(disable_all命令) 633 3 13 判斷表是否被禁用(is_disabled命令) 643 3 14 刪除表(drop命令) 653 3 15 刪除所有滿足正則表達式的表(drop_all命令) 653 3 16 獲取RowKey所在的區域(locate_region命令) 663 3 17 顯示HBase支持的過濾器(show_filters命令) 673 4 命名空間 683 4 1 創建命名空間(create_namespace命令) 683 4 2 修改命名空間(alter_namespace命令) 693 4 3 獲取命名空間詳情(describe_namespace命令) 693 4 4 獲取命名空間下所有表的名稱(list_namespace_tables命令) 703 4 5 獲取所有的命名空間(list_namespace命令) 703 4 6 刪除命名空間(drop_namespace命令) 703 5 DML命令 713 5 1 新增或者修改數據(put命令) 713 5 2 全表掃描數據(scan命令) 723 5 3 獲取表中數據的總行數(count命令) 763 5 4 獲取表中的數據(get命令) 773 5 5 刪除列族中的某個列(delete命令) 803 5 6 刪除整行數據(delete命令) 803 5 7 列值自增(incr命令) 813 5 8 獲取自增后的列值(get_counter命令) 823 5 9 獲取表所對應的Region數量(get_splits命令) 833 5 10 清空整個表數據,不保留分區(truncat命令) 843 5 11 清空整個表數據,保留分區(truncat_ preserve命令) 843 6 本章練習 85第4章 使用Java操作HBase 864 1 從HelloWorld開始 864 2 創建表 914 3 添加數據 974 4 批量添加數據 1014 5 內容追加 1074 6 修改數據 1084 7 刪除數據 1094 8 批量刪除 1124 9 原子性操作 1134 10 批量操作 1154 11 自增 1174 12 判斷數據是否存在 1184 13 代碼封裝 1194 14 本章練習 134第5章 客戶端API高階用法 1355 1 數據查詢 1355 2 數據掃描 1415 3 過濾器快速實戰 1485 4 RowKey過濾器 1505 5 RowKey前綴過濾器 1525 6 RowKey模糊過濾器 1545 7 列族過濾器 1555 8 列過濾器 1575 9 多列前綴過濾器 1585 10 首次列鍵過濾器 1595 11 列鍵過濾器 1605 12 列值過濾器 1615 13 單列值過濾器 1635 14 列值排除過濾器 1685 15 隨機行過濾器 1695 16 分頁過濾器 1715 17 多個過濾器綜合查詢 1735 18 本章練習 174第6章 HBase數據批量載入 1756 1 HBase批量載入簡介 1756 2 海量交易記錄數據存儲案例 1766 2 1 案例開發準備工作 1766 2 2 編寫實體類 1776 2 3 創建讀取數據的Mapper類 1816 2 4 編寫驅動類 1836 2 5 上傳數據到HDFS 1846 2 6 將導入的HDFS數據與HBase進行關聯 1846 3 本章練習 185第7章 協處理器 1867 1 協處理器簡介 1867 2 協處理器分類 1877 3 Coprocessor介面 1877 4 協處理器的載入 1897 4 1 使用配置文件載入 1897 4 2 從表描述器中載入 1907 5 RegionObserver類 1927 5 1 Region狀態 1997 5 2 處理客戶端API事件 2017 6 自定義Observer案例 2027 7 本章練習 204第8章 Phoenix在HBase中的整合應用 2058 1 Phoenix簡介 2058 2 安裝Phoenix 2068 2 1 下載 2068 2 2 安裝 2068 3 連接Phoenix 2078 4 Phoenix快速入門 2098 4 1 創建表 2098 4 2 刪除表 2118 4 3 插入數據 2118 4 4 分頁查詢 2118 5 本章練習 212
前言/序言隨著Hadoop越來越受歡迎,其生態系統也充滿活力,其中包括了一些廣泛使用的工具,如Hive、Spark、Impala和HBase等。本書著重講解Apache HBase工具,它構建於Hadoop分散式文件系統上,具有可擴展性、容錯性、低延時等特徵。HBase整合了Hadoop的水平擴展能力和實時數據服務兩方面的優勢。在規模方面,HBase允許從單個集群中進行每秒數百萬次的讀寫操作,同時仍可保持Hadoop所有應用可用。然而,開始使用HBase是一個艱巨的任務。這正是寫作本書的原因。本書以精練的語言介紹HBase相關知識,讓初學者能夠快速上手使用HBase,在自己的企業環境中運行HBase,深入了解HBase具體能做什麼樣的業務,快速使用Java調用HBase解決企業的業務問題。本書內容本書共分為11章,主要內容安排如下:第1章介紹HBase的發展歷程以及HBase與關係資料庫的區別。第2章通過單機模式和集群模式搭建HBase環境,讓開發人員快速地把HBase運行起來。第3章學習使用HBase的基本指令,其中包括DDL命令、DML命令、命名空間命令等的操作。第4章使用Java語言操作HBase,包括創建表結構、修改表數據等。第5章介紹客戶端等高級API操作,包括數據查詢、數據掃描、多種過濾器的使用以及過濾器的綜合使用等。第6章通過Java開發實現HBase的數據批量載入,包括編寫驅動器、上傳數據到HDSF等。第7章介紹協處理器的分類和使用,包括協處理器的載入、配置文件載入、介面編寫等。第8章介紹Phoenix在HBase中的整合使用,包括Phoenix的下載使用和基本指令操作。第9章解析HBase架構,包括HBase架構原理、HBase讀寫操作流程、數據刷新機制等。第10章介紹性能優化,包括表設計優化、列族數量優化、HBase讀寫操作優化等。第11章是HBase數據操作實戰,包括創建表、新增表數據、修改和刪除表數據、批量操作